ฉันกำลังแทรกลงในตารางต่อไปนี้โดยใช้ LuaSQL กับ PtokaX API
CREATE TABLE `requests` (
`id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
`ctg` VARCHAR(15) NOT NULL,
`msg` VARCHAR(250) NOT NULL,
`nick` VARCHAR(32) NOT NULL,
`filled` ENUM('Y','N') NOT NULL DEFAULT 'N',
`dated` DATETIME NOT NULL,
`filldate` DATETIME NULL DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE INDEX `nick_msg` (`nick`, `msg`),
UNIQUE INDEX `ctg_msg` (`ctg`, `msg`)
)
COMMENT='Requests from users in any of the categories.'
COLLATE='utf8_general_ci'
ENGINE=MyISAM;
ตอนนี้ปัญหาของฉันคือเมื่อผู้ใช้ (แสดงโดยnick
) พยายามที่จะแทรกคำขอเดียวกันอีกครั้งUNIQUE
ดัชนีมีการตรวจสอบและสคริปต์กลับเท็จ นี่ทำให้สคริปต์ของฉันล้มเหลวและฉันต้องรีสตาร์ทสคริปต์
มีบางอย่างที่ฉันสามารถทำได้ใน
INSERT ... ON DUPLICATE KEY
คำสั่งเพื่อที่จะไม่ทำอะไรเลยหรืออย่างน้อยก็ไม่กลับข้อผิดพลาดในกรณีที่DUPLICATE KEY
?
ไม่เช่นนั้นฉันต้องไปอัปเดตdated
ฟิลด์ของฉันด้วยDATETIME
ค่าใหม่