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

sisipan bersyarat mysql - jika tidak ada sisipkan

Gunakan REPLACE - bekerja persis seperti INSERT, kecuali jika baris lama dalam tabel memiliki nilai yang sama dengan baris baru untuk PRIMARY KEY atau indeks UNIK, baris lama dihapus sebelum baris baru dimasukkan.

http://dev.mysql.com/doc/refman/5.0 /en/replace.html

-- For your example query
REPLACE INTO table_name(name, value, id) VALUES
('phill', 'person', 12345) 

Sunting:Karena Anda tidak dapat menggunakan REPLACE, opsi lain adalah:menetapkan indeks batasan untuk data tabel (kunci utama, keunikan) dan menggunakan INSERT IGNORE

INSERT IGNORE INTO table_name
SET name = 'phill',
    value = 'person',
    id = 12345;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mendapatkan waktu eksekusi yang tepat dari pernyataan MySQL

  2. Pelacakan notifikasi suka Facebook (Desain DB)

  3. Bagaimana cara membuat database dari perintah shell?

  4. Memilih blok catatan yang berdekatan di mysql

  5. Bagaimana cara memetakan kolom MySQL char(n) ke variabel instan menggunakan anotasi JPA/Hibernate?