sql >> Databasteknik >  >> RDS >> Mysql

MySql Infoga om det inte finns två kolumnpar annars uppdatera

för att fungera med ON DUPLICATE KEY UPDATE uttalande måste du definiera unique på de två kolumnerna,

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;

ta sedan bort WHERE klausul

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



  1. Java Oracle localhost anslutningsfel (ORA-12505)

  2. Hur man kör en funktion i Oracle med parametrar

  3. Hitta index för senaste förekomsten av en delsträng med T-SQL

  4. Islands T-SQL Challenge