我想在删除后创建一个触发器,该触发器将值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
发布于 2019-06-09 19:51:41
在Mysql的触发器内部不允许使用ALTER TABLE或CREATE TABLE。
因此,如果您正在使用MySQL &您想要在表tbl_form中的任何Delete上更改表,那么您可能只能在服务器端代码中执行此操作,就像您可以创建一个函数并在delete成功完成后调用它一样。
https://stackoverflow.com/questions/56513410
复制相似问题