0

我有一个名为 login 的表,其中包含 3 个字段 'id'、'token' 和 'status' 。id 是自动生成的。每当使用触发器插入该表时,我想将自动生成的“id”存储在字段“状态”中。我可以在触发器后使用插入来做到这一点吗?这是我第一次使用触发器,所以任何帮助将不胜感激. 我的代码在下面给出..

CREATE TRIGGER ins_masterid AFTER INSERT ON `login`
FOR EACH ROW BEGIN
SET NEW.status = NEW.id;
4

2 回答 2

1

尝试这个

CREATE TRIGGER ins_masterid
BEFORE INSERT ON login 
FOR EACH ROW SET new.status = (select max(id)+1 from login);

但是您应该手动更新第一行的状态。

于 2013-04-17T07:44:50.403 回答
1

每当您想在触发器中使用“SET NEW.column”时,请注意您不能将其与 AFTER 操作一起使用,而必须在操作之前使用它。

delimiter |

CREATE TRIGGER ins_masterid BEFORE INSERT ON `login`
FOR EACH ROW BEGIN
SET NEW.status = NEW.id;
  END;
|

delimiter ;
于 2013-04-17T03:41:35.970 回答