我正在尝试创建一个用于插入数据的触发器。我想获取要在表中进行插入或更改的作者或用户的当前ID。但是我遇到此错误:
新的未知列ID
这是我的查询
INSERT INTO logs VALUES(null,NEW.id,'inserted',NOW());
我的数据库comments
表和logs
表中有两个表...
有人可以帮助我如何摆脱这个错误...
答案 0 :(得分:0)
听起来您的评论表中包含这样的列:
columnA
但是触发器中的INSERT语句引用了columnB
。您的评论表中没有CREATE TABLE comments (
comment_id ...
author ...
message ...
);
列。 NEW.id
语法是一种访问执行触发器的行的方法。您只能引用该表中存在的列。
因此,由于我猜您的主键列为id
,因此应删除触发器并重新创建它以运行INSERT,如下所示:
NEW.*
重点是comment_id
必须引用注释表中为其定义触发器的列。