TRIGGER和选择问题

时间:2017-05-15 08:56:07

标签: mysql triggers

我不明白为什么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//

1 个答案:

答案 0 :(得分:0)

distinct不是一个功能。试试select distinct id ...

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

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

更新

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

Declare id_parent VARCHAR(x);

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