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

Apa perbedaan praktis antara `REPLACE` dan `INSERT ... ON DUPLICATE KEY UPDATE` di MySQL?

REPLACE internal melakukan penghapusan dan kemudian penyisipan. Ini dapat menyebabkan masalah jika Anda memiliki batasan kunci asing yang mengarah ke baris itu. Dalam situasi ini REPLACE bisa gagal atau lebih buruk:jika kunci asing Anda disetel ke penghapusan berjenjang, REPLACE akan menyebabkan baris dari tabel lain dihapus. Hal ini dapat terjadi meskipun batasan telah dipenuhi baik sebelum dan sesudah REPLACE operasi.

Menggunakan INSERT ... ON DUPLICATE KEY UPDATE menghindari masalah ini dan karena itu lebih disukai.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara menggunakan DATETIME sebagai DATE di mysql?

  2. Memilih float di MySQL

  3. ROW_NUMBER() di MySQL

  4. Pilih kueri mysql di antara tanggal?

  5. Mengakhiri koneksi mysql yang menganggur