这是我第一次必须在mysql中创建触发器。我正在尝试更新一个小的日志表(4列),其中一个是URL。我有它的工作,除了我无法弄清楚如何防止触发触发器时插入2行。由于最大密钥长度,我无法在url行上创建唯一索引。有其他建议吗?我尝试通过选择语句插入并使用ON DUPLICATE KEY失败。
CREATE DEFINER=`dbuser`@`%` TRIGGER `upd_url_prod` AFTER UPDATE ON `products`
FOR EACH ROW BEGIN
INSERT INTO my_changes (ext_id,url,changetime)
VALUES (NEW.external_id,NEW.detail_url,NOW());
END
答案 0 :(得分:0)
我认为您需要在该触发器触发时检查更新查询。也许该查询触发两次,而触发器触发。检查运行更新查询的脚本并记录该查询。