Проблема создания тигра для автоинкремента на phpMyadmin - PullRequest
0 голосов
/ 09 июня 2019

Я хотел бы сделать триггер после удаления, принимающий значение 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 голосов
/ 09 июня 2019

ALTER TABLE или CREATE TABLE не допускается внутри триггера в Mysql.

Итак, если вы используете MySQL и хотите изменить таблицу на любую Delete в таблице tbl_form, то вы можете сделать это только из кода на стороне сервера, например, вы можете сделать одну функцию ивызовите его после успешного удаления.

...