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

masukkan pada pembaruan kunci duplikat

Saya yakin jawaban untuk ini dibahas di MySQL dokumen :

Jika tabel berisi AUTO_INCREMENT kolom dan INSERT ... UPDATE menyisipkan baris, LAST_INSERT_ID() fungsi mengembalikan AUTO_INCREMENT nilai. Jika pernyataan memperbarui baris sebagai gantinya, LAST_INSERT_ID() tidak berarti. Namun, Anda dapat mengatasinya dengan menggunakan LAST_INSERT_ID(expr) . Misalkan id adalah AUTO_INCREMENT kolom. Untuk membuat LAST_INSERT_ID() berarti untuk pembaruan, masukkan baris sebagai berikut:

INSERT INTO table (a,b,c) VALUES (1,2,3)
  ON DUPLICATE KEY UPDATE id=LAST_INSERT_ID(id), c=3;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Melakukan penghitungan dan pembedaan untuk memeriksa berapa kali sebuah postingan dibaca

  2. Apakah mungkin membuat kolom id kenaikan otomatis dalam tampilan mysql?

  3. Pendekatan mana yang lebih cepat untuk mendapatkan semua POI dari MySQL/MariaDB dengan PHP/Laravel

  4. Cara memodelkan hubungan banyak ke banyak di MongoDB (untuk pengguna MySQL)

  5. Pindahkan nilai duplikat ke kolom lain