如何在sql中创建“autoincrement”触发器

nlejzf6q  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(320)

我要模拟行计数器更新时的自动增量。
我的触发器是:

CREATE DEFINER = CURRENT_USER TRIGGER `db`.`token_AFTER_UPDATE` AFTER UPDATE ON `token` FOR EACH ROW
BEGIN
  UPDATE `token` SET `counter` = `counter` + 1 WHERE `id` = NEW.id;
END

但我得到一个错误:

1442-无法更新存储函数/触发器中的表“token”,因为它已由调用此存储函数/触发器的语句使用。

uttx8gqw

uttx8gqw1#

由于您的描述不够详细,无法给出正确的答案,以下内容可能会有所帮助:
选项1:您可以创建一个过程,该过程选择最高值,添加1并更新最后更新的行。
选项2:如果不使用该表作为某个地方的引用,请将ai列设为pk,并使用“replace into…”而不是insert/update。

相关问题