ALTER TABLE
musí mít doslovné hodnoty v době, kdy je příkaz analyzován (tj. v době přípravy).
Proměnné nebo parametry nemůžete vkládat do příkazu v době analýzy, ale můžete vkládat proměnné do příkazu před analyzovat čas. A to znamená použití dynamického 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;