sql >> Database teknologi >  >> RDS >> Mysql

MySql Indsæt hvis ikke eksisterer to kolonnepar ellers opdatere

for at arbejde med ON DUPLICATE KEY UPDATE sætning, skal du definere unique tasten på de to kolonner,

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;

fjern derefter 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. Sequelize fejl:defineCall ikke defineret i Index.js

  2. kan jeg bruge en variabel til at angive OUTFILE i mysql

  3. Data fra oracle i utf-8 med php

  4. Hvordan gemmer man unicode i MySQL?