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;