Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

MySql Chèn nếu không tồn tại hai cặp cột nếu không cập nhật

để hoạt động ON DUPLICATE KEY UPDATE , bạn cần xác định unique vào hai cột,

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;

sau đó xóa WHERE mệnh đề

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. Cách XÓA một cột khỏi một bảng trong MySQL bằng cách sử dụng số cột

  2. Giá trị múi giờ máy chủ 'AEST' không được công nhận hoặc đại diện cho nhiều hơn một múi giờ

  3. Chuỗi MySQL Chỉ mục cuối cùng của

  4. Cách thêm ràng buộc not null vào cột hiện có trong MySQL

  5. Lỗi cập nhật bản ghi Vb6