কম্পিউটার টিউটোরিয়াল

MySQL-এ একক কোয়েরিতে ID কলামের সব রো ১ করে বাড়ানো

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-এ করলে ৮→৯, ৭→৮... ১→২ হয়, কোনো দ্বন্দ্ব হয় না। সতর্কতা: ফরেন কি রিলেশন থাকলে এটি ভাঙতে পারে।

  1. MySQL-এ একক কুয়েরি দিয়ে টেবিলের সব কলাম নির্দিষ্ট ভ্যালুতে আপডেট করা

  2. MySQL-এ LIKE অপারেটর দিয়ে একাধিক সারি বের করা

  3. MySQL-এ একক কোয়ারি দিয়ে একটি কলামে একাধিক মান কিভাবে ইনসার্ট করবেন?

  4. MySQL-এ একক কোয়ারিতে সব কলামের জন্য এলিয়াস (Alias) সেট করা