我有一个名为login的表,其中包含3个字段'id','token'和'status'。 id是自动生成。我想在每次使用触发器插入到该表中时将自动生成的'id'存储在字段'status'中。可以使用insert after trigger执行此操作吗?这是我的第一个触发器,所以任何帮助都将非常感谢。我的代码如下:
CREATE TRIGGER ins_masterid AFTER INSERT ON `login`
FOR EACH ROW BEGIN
SET NEW.status = NEW.id;
答案 0 :(得分:1)
每当您想在触发器中使用“SET NEW.column”时,请注意您不能在动作之后使用它,并且必须在动作之前使用它。
delimiter |
CREATE TRIGGER ins_masterid BEFORE INSERT ON `login`
FOR EACH ROW BEGIN
SET NEW.status = NEW.id;
END;
|
delimiter ;
答案 1 :(得分:1)
试试这个
CREATE TRIGGER ins_masterid
BEFORE INSERT ON login
FOR EACH ROW SET new.status = (select max(id)+1 from login);
但是你应该手动更新第一行的状态。