【发布时间】:2016-10-01 18:01:59
【问题描述】:
MySQL。我有带有自动增量主键字段的表:
CREATE TABLE myTable (
id INT AUTO_INCREMENT PRIMARY KEY,
field VARCHAR(45)
);
我想根据主键值自动编写一些字段。 这不起作用:
CREATE TRIGGER `myTable_AFTER_INSERT` AFTER INSERT ON `myTable` FOR EACH ROW
BEGIN
UPDATE myTable SET field=CONCAT(NEW.id,"T") WHERE id=NEW.id;
END;
在这种情况下,我收到来自 MySQL 的错误:
无法更新存储函数/触发器中的表“myTable”,因为它是 已被调用此存储函数/触发器的语句使用。
这也不起作用:
CREATE TRIGGER `myTable_BEFORE_INSERT` BEFORE INSERT ON `myTable` FOR EACH ROW
BEGIN
SET NEW.field=CONCAT(NEW.id,"T");
END;
在这种情况下,NEW.did 是未定义的。
如何根据自动增量 ID 将一些值存储到 field?谢谢!
【问题讨论】: