ON DUPLICATE KEY UPDATE
を機能させるため ステートメント、unique
を定義する必要があります 2つの列にキーを押します
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;
次に、WHERE
を削除します 条項
INSERT INTO tbl_member_doc_read (member_id, doc_id, status)
VALUES(1,2,1)
ON DUPLICATE KEY UPDATE
status = VALUES(status)