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

Menambahkan ke bidang database alih-alih menimpanya (fungsi MySQL UPDATE)

Coba gunakan INSERT ... ON DUPLICATE KEY UPDATE

Jika Anda menentukan ON DUPLICATE KEY UPDATE, dan baris dimasukkan yang akan menyebabkan nilai duplikat dalam indeks UNIK atau PRIMARY KEY, MySQL melakukan UPDATE dari baris lama.

Misalnya, jika kolom a dideklarasikan sebagai UNIK dan berisi nilai 1, dua pernyataan berikut memiliki efek yang sama:

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

UPDATE table SET c=c+1 WHERE a=1;

(Efeknya tidak identik untuk tabel di mana a adalah kolom kenaikan otomatis. Dengan kolom kenaikan otomatis, INSERT pernyataan meningkatkan nilai kenaikan otomatis tetapi UPDATE tidak.)

Klausa ON DUPLICATE KEY UPDATE dapat berisi beberapa tugas kolom, dipisahkan dengan koma.

Dengan ON DUPLICATE KEY UPDATE, nilai baris yang terpengaruh per baris adalah 1 jika baris dimasukkan sebagai baris baru, dan 2 jika baris yang ada diperbarui.

Semoga ini bisa membantu.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Data hierarki operasi MySQL

  2. Cara Menginstal MySQL di CentOS 6

  3. Menghitung berapa banyak kolom MySQL dalam satu baris yang terisi (atau kosong)

  4. Terjadi masalah saat menjalankan pernyataan hapus MySQL di Java

  5. Apa itu SQL Injection tingkat kedua?