sql >> Database >  >> RDS >> Mysql

MySql Invoegen indien niet aanwezig twee kolommenpaar anders bijwerken

om de ON DUPLICATE KEY UPDATE . te werken statement, moet u unique definiëren toets op de twee kolommen,

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;

verwijder vervolgens de WHERE clausule

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



  1. Kan sql-modules niet in het databasecluster laden tijdens PostgreSQL-installatie

  2. SQL Server 2016 Enterprise Edition Prestatievoordelen

  3. MySQL Bereken leeftijd per jaar, maand en dag

  4. $this->db->insert_id() werkt niet in mysql codeigniter