我不明白为什么mysql(5.5)不想设置我的触发器。

CREATE TRIGGER trig_apres_delete_filecache  AFTER DELETE ON oc_filecache FOR EACH ROW
BEGIN
Declare id_parent VARCHAR;
Select distinct(id) from oc_storages where numeric_id = OLD.parent into id_parent ;
INSERT INTO histo_filecache (action, date_action, path,who)  VALUES ('delete', NOW (), OLD.path,id_parent);
END//

最佳答案

distinct不是函数。尝试select distinct id ...

Select distinct id from oc_storages where numeric_id = OLD.parent into id_parent ;


您还必须确保上面的查询仅返回单个记录。没有任何错误消息,这是我目前在您的代码中唯一看到的内容。

更新

您还应该提供varchar变量的长度:

Declare id_parent VARCHAR(x);


但是我还要仔细检查数据类型,因为id通常是数字值。

关于mysql - 触发并选择问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43975171/

10-16 23:17