Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

INSERT IGNORE meningkatkan penghitung kenaikan otomatis bahkan tidak ada catatan yang ditambahkan?

Mengutip dari halaman manual untuk INSERT :

INSERT IGNORE sintaks hanyalah cara untuk menekan pesan kesalahan tertentu dan itu membantu ketika Anda menyadari bahwa kesalahan itu mungkin terjadi dan/atau ingin menanganinya di tahap selanjutnya. Di belakang layar, Anda masih memiliki sisipan biasa, kecuali bahwa itu gagal karena kunci yang dilanggar. MySQL membutuhkan nilai baris aktual untuk membuat penyisipan dan penghitung AUTO_INCREMENT akan bertambah sesuai dengan aturan biasa :

  1. Nilai untuk kolom adalah NULL.
  2. Nilai untuk kolom tidak disetel.
  3. Nilai untuk kolom lebih besar dari penghitung.

Jadi, kecuali Anda dapat memikirkan kembali logika Anda (mis., menguji apakah nilai kunci ada sebelum membuat penyisipan), satu-satunya cara untuk menyetel ulang penghitungnya adalah ALTER TABLE :

ALTER TABLE t2 AUTO_INCREMENT = value;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Koneksi ke MySQL dari .NET menggunakan SSH.NET Library

  2. Instal beberapa instance MySQL di server Linux - gunakan file konfigurasi MySQL terpisah

  3. cara mengubah kolom api_token di token guard

  4. cara mendapatkan menu hierarkis dari mysql

  5. Ekspor data Google Bagan (tabel) saya ke excel atau csv