MySQL-এ AUTO_INCREMENT ID কলামের সব মান একসাথে ১ করে বাড়াতে UPDATE ... ORDER BY ... DESC ব্যবহার করতে হয়।
সিনট্যাক্স
UPDATE yourTableName SET yourIdColumnName = yourIdColumnName + 1 ORDER BY yourIdColumnName DESC;
উদাহরণ
টেবিল তৈরি:
mysql> CREATE TABLE IdColumnadd1Demo (
-> Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY
-> );
৮টি রো ইনসার্ট (ID ১ থেকে ৮):
mysql> SELECT * FROM IdColumnadd1Demo;
+----+ | Id | +----+ | 1 | | 2 | | 3 | | 4 | | 5 | | 6 | | 7 | | 8 | +----+
সকল ID ১ করে বাড়ানো (DESC অর্ডার বাধ্যতামূলক):
mysql> UPDATE IdColumnadd1Demo SET Id = Id + 1 ORDER BY Id DESC; Query OK, 8 rows affected (0.18 sec)
ফলাফল:
mysql> SELECT * FROM IdColumnadd1Demo;
+----+ | Id | +----+ | 2 | | 3 | | 4 | | 5 | | 6 | | 7 | | 8 | | 9 | +----+
কেন ORDER BY DESC? আপডেট ASC-এ করলে ID ১→২ হলে পরবর্তীতে ২ খুঁজে পাবে এবং আবার ২→৩ করবে (ডুপ্লিকেট এরর হবে)। DESC-এ করলে ৮→৯, ৭→৮... ১→২ হয়, কোনো দ্বন্দ্ব হয় না। সতর্কতা: ফরেন কি রিলেশন থাকলে এটি ভাঙতে পারে।