我需要一些帮助来编写MySQL触发器。 我想要做的是计算自动增量ID的值,并将其存储在单独的列中:
create trigger hashing after insert on categories
for each row begin
set new.hashed = md5(CONCAT("key",`categories `.`id`));
end;
但我收到错误:
[Err] 1362 - Updating of NEW row is not allowed in after trigger
有人可以帮我实现我的需要吗?这有可能使用触发器吗?
由于
答案 0 :(得分:2)
不支持您尝试做的事情。
您只能在BEFORE INSERT
触发器中设置“哈希”列的值,而不是AFTER INSERT
触发器。
但是,您无法访问BEFORE INSERT
触发器中自动增量“id”列的值,因为该值尚未知晓。
如果您决定通过触发器执行此操作,则一个选项是创建一个单独的表来存储散列值(以及引用“categories”表的外键),并使用{插入到该表中{1}}触发“类别”表。