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

Sisipkan MySql jika tidak ada dua pasangan kolom jika tidak perbarui

untuk menjalankan ON DUPLICATE KEY UPDATE pernyataan, Anda perlu mendefinisikan unique tombol pada dua kolom,

CREATE  TABLE IF NOT EXISTS tbl_member_doc_read 
(
`read_id` INTEGER(10) UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT ,
`member_id` INTEGER(10) UNSIGNED NOT NULL ,
`doc_id` INTEGER(10) UNSIGNED NOT NULL ,
`status` INTEGER(1) DEFAULT '0',
FOREIGN KEY (`member_id`) REFERENCES tbl_member(`member_id`),
FOREIGN KEY (`doc_id`) REFERENCES tbl_doc(`doc_id`),
CONSTRAINT tb_uq UNIQUE (member_id, doc_id)
) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_general_ci;

lalu hapus WHERE klausa

INSERT INTO tbl_member_doc_read (member_id, doc_id, status) 
VALUES(1,2,1) 
ON DUPLICATE KEY UPDATE 
status = VALUES(status)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL Performance UNION vs OR

  2. Menemukan nilai TERAKHIR/TERBESAR dari KOLOM gabungan, abaikan 0 &NULL- MYSQL

  3. Apakah ada trik untuk mengizinkan MySQL mengabaikan koma tambahan di klausa SET dari pernyataan UPDATE?

  4. Bagaimana cara mendapatkan banyak hitungan dengan satu kueri SQL?

  5. kesalahan:'Tidak dapat terhubung ke server MySQL lokal melalui soket '/var/run/mysqld/mysqld.sock' (2)' -- Tidak ada /var/run/mysqld/mysqld.sock