я стараюсь (пере) установить значение auto_increment к значению переменной, но она не:Использование переменной в настройке MySQL INNODB AUTO_INCREMENT значение таблицы
CREATE TABLE test_table (
id bigint(20) unsigned NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=1;
SET @tmpvar = 12345;
ALTER TABLE test_table [email protected];
Последняя команда не выполняется:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '@tmpvar' at line 1
Невозможно установить значение AUTO_INCREMENT следующим образом? Каковы альтернативы? Мне нужно установить это значение в хранимой процедуре, которая вращает таблицы журналов, и мне нужно, чтобы новая таблица начиналась со значений, взятых из какой-то старой таблицы.
Добавление
Прямое создание таблицы с правильным автоматического приращения intial значения не удается, а также:
CREATE TABLE test_table (
id bigint(20) unsigned NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`id`)) ENGINE=InnoDB [email protected];
P.S. Я нашел соответствующий вопрос здесь и так, но без ответа: Updating auto_increment value in an InnoDB table
EDIT исправлен недостающую точкой с запятой
Используйте [13,5 SQL Синтаксис Подготовленные заявления] (http://dev.mysql.com/doc/refman/5.7/en/sql-syntax-prepared-statements.html). – wchiquito
Отсутствует; перед командой SET – Shadow
@Shadow - я исправил это. Однако это не проблема. – luksch