ALTER TABLE
ステートメントが解析されるまでに(つまり、準備時に)リテラル値が含まれている必要があります。
解析時に変数またはパラメーターをステートメントに入れることはできませんが、前のステートメントに変数を入れることはできます。 解析時間。つまり、動的SQLを使用することを意味します:
SET @new_index = (SELECT MAX(id) FROM sales );
SET @sql = CONCAT('ALTER TABLE sales AUTO_INCREMENT = ', @new_index);
PREPARE st FROM @sql;
EXECUTE st;