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

Buat jika entri tidak ada, jika tidak perbarui?

Banyak pengembang masih menjalankan kueri untuk memeriksa apakah ada bidang dalam tabel dan kemudian mengeksekusi kueri penyisipan atau pembaruan sesuai dengan hasil kueri pertama. Coba gunakan sintaks ON DUPLICATE KEY, ini jauh lebih cepat dan lebih baik kemudian mengeksekusi 2 query. Info lebih lanjut dapat ditemukan di sini

jika Anda ingin mempertahankan nilai yang sama untuk c, Anda dapat melakukan pembaruan dengan nilai yang sama

perbedaan antara 'ganti' dan 'pada kunci duplikat':

jika tabel Anda tidak memiliki kunci utama atau kunci unik, penggantian tidak masuk akal.

Anda juga dapat menggunakan VALUES berfungsi untuk menghindari keharusan menentukan nilai aktual dua kali. Misalnya. bukannya

INSERT INTO table (a,b,c) VALUES (4,5,6) ON DUPLICATE KEY UPDATE c=6;

Anda dapat menggunakan

INSERT INTO table (a,b,c) VALUES (4,5,6) ON DUPLICATE KEY UPDATE c=VALUES(c);

Dimana VALUES(c) akan mengevaluasi ke nilai yang ditentukan sebelumnya (6).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Hitung persentil dari frekuensi di MySQL

  2. Laravel Fasih KIRI GABUNG WHERE NULL

  3. Cara mendapatkan sertifikat Amazon MySQL RDS

  4. Bagaimana cara memeriksa apakah database mysql ada

  5. mysql - kembalikan kolom pertama sekali dan semua data kolom yang sesuai