在phpMyadmin上为自动增量问题创建tigger

时间:2019-06-09 09:22:42

标签: mysql sql auto-increment database-trigger

我想在删除后创建一个触发器,该触发器的值将为我的自动增量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

1 个答案:

答案 0 :(得分:0)

Mysql的触发器内部不允许

ALTER TABLECREATE TABLE

因此,如果您正在使用MySQL并想更改表Delete中任何tbl_form上的表,那么您可能只能从服务器端代码执行此操作,就像可以执行一个功能一样并在删除成功完成后调用它。