Mysql
 sql >> Baza danych >  >> RDS >> Mysql

MySql Wstaw, jeśli nie istnieją dwie pary kolumn, w przeciwnym razie zaktualizuj

w celu pracy ON DUPLICATE KEY UPDATE oświadczenie, musisz zdefiniować unique klawisz na dwóch kolumnach,

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;

następnie usuń WHERE klauzula

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. Obliczanie tygodnia MySQL między dwiema datami

  2. Rekursywny wybór mysql?

  3. Zwiększ pole identyfikatora tabeli z liczeniem bitowym

  4. Aby przygotować plan dla mojego pierwszego projektu MySQL

  5. Czy jest jakiś powód, aby martwić się o kolejność kolumn w tabeli?