Кажется, проблема в том, что вам нужно изменить разделитель. Он считает, что строка Alter table
является концом функции. Попробуйте это:
DROP PROCEDURE IF EXISTS sync_auto_increment;
DELIMITER //
CREATE PROCEDURE set_auto_increment (tableName VARCHAR(64), inc INT)
BEGIN
ALTER TABLE tableName AUTO_INCREMENT = inc;
END//
DELIMITER ;
Иногда mysql по-прежнему требователен к тому, чтобы разрешить вам использовать хранимые процедуры, поэтому вы можете попробовать это, если по-прежнему не можете запустить его:
DROP PROCEDURE IF EXISTS sync_auto_increment;
DELIMITER //
CREATE PROCEDURE set_auto_increment (tableName VARCHAR(64), inc INT)
DETERMINISTIC
READS SQL DATA
BEGIN
ALTER TABLE tableName AUTO_INCREMENT = inc;
END//
DELIMITER ;