【发布时间】:2019-03-30 18:16:03
【问题描述】:
这是我第一次必须在 mysql 中创建触发器。我正在尝试更新一个小型日志表(4 列),其中一个是 URL。我让它工作,除了我不知道如何防止它在触发器触发时插入 2 行。由于最大键长度,我无法在 url 行上创建唯一索引。对其他方式有什么建议吗?我尝试通过 select 语句插入并使用 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());
结束
【问题讨论】:
-
您能否分享您的完整触发器创建代码,以及导致触发器被激活的步骤。中间有几个不同的过程可能使数据插入两次。
-
我更新了完整的触发代码。这是在 wordpress 网站后面,我正在使用插件来尝试导入产品,然后希望能够在通过此触发器更新时进行记录。来自 SQL Server 任何时候我需要更多地了解数据库或其对象正在做什么我会使用探查器 - 这里有什么类似的建议吗?
标签: mysql triggers duplicates