【发布时间】:2019-10-24 02:06:39
【问题描述】:
我想在删除后创建一个触发器,该触发器将值 max ID + 1 用于我的自动增量。
这是我当前的代码,其中包含来自 MySQL 的错误:
DELIMITER //
CREATE TRIGGER form_id_autoincrement
AFTER DELETE ON tbl_form
IF EXISTS (SELECT `form_id` FROM tbl_form)
THEN
ALTER TABLE tbl_form AUTO_INCREMENT = (SELECT MAX(`form_id`)+1 FROM tbl_form);
ELSE
ALTER TABLE tbl_form AUTO_INCREMENT=1;
END IF;
END; //
DELIMITER;
#1064 - Error syntax near 'IF EXISTS (SELECT `form_id` FROM tbl_form)
THEN
ALTER TABLE tbl_f' line 3
【问题讨论】:
-
我怀疑这是 phpMyAdmin 的问题。你应该用你使用的数据库来标记它,例如 MySQL 或 MariaDB
-
触发器不能使用显式或隐式开始或结束事务的语句 - 即不允许 ALTER。
标签: mysql sql auto-increment database-trigger