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

MySQL-এ TRUNCATE TABLE দিয়ে AUTO_INCREMENT ১-এ রিসেট


AUTO_INCREMENT রিসেট করার পদ্ধতি

সব ডেটা ডিলিট করে প্রাইমারি কি ১ থেকে শুরু করতে TRUNCATE TABLE ব্যবহার করুন। এটি AUTO_INCREMENT কাউন্টারও রিসেট করে।

সিনট্যাক্স

ALTER TABLE yourTableName AUTO_INCREMENT = 1;
TRUNCATE TABLE yourTableName;

উদাহরণ

টেবিল তৈরি

mysql> create table resettingPrimaryKeyDemo (
    -> UserId int NOT NULL AUTO_INCREMENT PRIMARY KEY
    -> );
Query OK, 0 rows affected (0.66 sec)

৪ রো ইনসার্ট (ID: 1,2,3,4)

mysql> insert into resettingPrimaryKeyDemo values();
Query OK, 1 row affected (0.15 sec)
mysql> insert into resettingPrimaryKeyDemo values();
Query OK, 1 row affected (0.10 sec)
mysql> insert into resettingPrimaryKeyDemo values();
Query OK, 1 row affected (0.08 sec)
mysql> insert into resettingPrimaryKeyDemo values();
Query OK, 1 row affected (0.12 sec)

ডেটা যাচাই

mysql> SELECT * FROM resettingPrimaryKeyDemo;

আউটপুট

+--------+
| UserId |
+--------+
|      1 |
|      2 |
|      3 |
|      4 |
+--------+

AUTO_INCREMENT রিসেট ও ট্রানকেট

mysql> ALTER TABLE resettingPrimaryKeyDemo AUTO_INCREMENT = 1;
Query OK, 0 rows affected (0.14 sec)

mysql> TRUNCATE TABLE resettingPrimaryKeyDemo;
Query OK, 0 rows affected (0.89 sec)

টেবিল খালি

mysql> SELECT * FROM resettingPrimaryKeyDemo;
Empty set (0.00 sec)

পুনরায় ইনসার্ট (ID আবার ১ থেকে)

mysql> insert into resettingPrimaryKeyDemo values();
Query OK, 1 row affected (0.12 sec)
mysql> insert into resettingPrimaryKeyDemo values();
Query OK, 1 row affected (0.10 sec)
mysql> insert into resettingPrimaryKeyDemo values();
Query OK, 1 row affected (0.10 sec)

ফাইনাল আউটপুট

+--------+
| UserId |
+--------+
|      1 |
|      2 |
|      3 |
+--------+

গুরুত্বপূর্ণ: TRUNCATE DDL অপারেশন, রোলব্যাক হয় না, ট্রিগার ফায়ার হয় না। ফরেন কি রেফারেন্স থাকলে কাজ নাও করতে পারে। DELETE FROM table দিয়ে শুধু ডেটা মুছে AUTO_INCREMENT রিসেট হয় না।

  1. MySQL-এ SUBSTRING() দিয়ে কলাম থেকে প্রথম ২০ ক্যারেক্টার বাদ দিয়ে বাকি অংশ বের করা

  2. MySQL কোয়েরি: স্ট্রিং পরিবর্তন করে আন্ডারস্কোরের পরের অংশ মাত্র প্রদর্শন করা

  3. MySQL-এ BETWEEN দিয়ে দুটি তারিখের রেঞ্জের মধ্যে সকল ডেটা বের করা

  4. MySQL-এ প্রাইমারি কী রিসেট করা (TRUNCATE + ALTER TABLE)