在 phpMyadmin 中创建自动增量触发器的问题
Problem create tigger for autoincrement on phpMyadmin
我想在删除后创建一个触发器,将最大 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
ALTER TABLE
或 CREATE TABLE
不允许在 Mysql 中的触发器内部。
因此,如果您正在使用 MySQL 并且您想要在 table tbl_form
中的任何 Delete
上更改 table,那么您可以这样做只能从您的服务器端代码,就像您可以创建一个函数并在成功完成删除后调用它。
我想在删除后创建一个触发器,将最大 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
ALTER TABLE
或 CREATE TABLE
不允许在 Mysql 中的触发器内部。
因此,如果您正在使用 MySQL 并且您想要在 table tbl_form
中的任何 Delete
上更改 table,那么您可以这样做只能从您的服务器端代码,就像您可以创建一个函数并在成功完成删除后调用它。