Tôi có một bảng với một chìa khóa duy nhất cho hai cột:INSERT ... ON DUPLICATE KEY (không làm gì cả)
CREATE TABLE `xpo`.`user_permanent_gift` (
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT ,
`fb_user_id` INT UNSIGNED NOT NULL ,
`gift_id` INT UNSIGNED NOT NULL ,
`purchase_timestamp` TIMESTAMP NULL DEFAULT now() ,
PRIMARY KEY (`id`) ,
UNIQUE INDEX `user_gift_UNIQUE` (`fb_user_id` ASC, `gift_id` ASC));
Tôi muốn chèn một hàng vào bảng đó, nhưng nếu phím tồn tại, để không làm gì cả! Tôi không muốn một lỗi được tạo ra bởi vì các khóa tồn tại.
Tôi biết rằng có cú pháp sau:
INSERT ... ON DUPLICATE KEY UPDATE ...
nhưng là có cái gì đó như:
INSERT ... ON DUPLICATE KEY DO NOTHING
?
chỉ để thêm IGNORE sau khi INSERT, phần còn lại của cú pháp là như nhau? – ufk
@ufk: 'INSERT IGNORE' không có phần' ON DUPLICATE KEY', ví dụ: 'INSERT IGNORE INTO xpo.user_permanent_gift (...) VALUES (...)' – BoltClock
Lưu ý rằng INSERT IGNORE cũng bỏ qua các lỗi khác như lỗi chuyển đổi dữ liệu. – mjcopple