MySQL-এ TRUNCATE TABLE দিয়ে টেবিল খালি করে ALTER TABLE ... AUTO_INCREMENT দিয়ে অটো-ইনক্রিমেন্ট মান কাস্টম ভ্যালু থেকে শুরু করা যায়।
উদাহরণ: টেবিল তৈরি এবং ডেটা ইনসার্ট
mysql> create table DemoTable825(Value int NOT NULL AUTO_INCREMENT PRIMARY KEY); Query OK, 0 rows affected (0.63 sec)
mysql> insert into DemoTable825 values(); Query OK, 1 row affected (0.16 sec) mysql> insert into DemoTable825 values(); Query OK, 1 row affected (0.09 sec) mysql> insert into DemoTable825 values(); Query OK, 1 row affected (0.11 sec)
সকল রেকর্ড দেখানো (Id: 1,2,3)
mysql> select * from DemoTable825;
+-------+ | Value | +-------+ | 1 | | 2 | | 3 | +-------+ 3 rows in set (0.00 sec)
টেবিল TRUNCATE করা
mysql> truncate table DemoTable825; Query OK, 0 rows affected (0.58 sec)
AUTO_INCREMENT ২০০০ থেকে শুরু করা
mysql> alter table DemoTable825 auto_increment=2000; Query OK, 0 rows affected (0.16 sec) Records: 0 Duplicates: 0 Warnings: 0
নতুন রেকর্ড ইনসার্ট (Id: 2000, 2001, 2002)
mysql> insert into DemoTable825 values(); Query OK, 1 row affected (0.10 sec) mysql> insert into DemoTable825 values(); Query OK, 1 row affected (0.12 sec) mysql> insert into DemoTable825 values(); Query OK, 1 row affected (0.09 sec)
ফলাফল দেখানো
mysql> select * from DemoTable825;
+-------+ | Value | +-------+ | 2000 | | 2001 | | 2002 | +-------+ 3 rows in set (0.00 sec)
গুরুত্বপূর্ণ পার্থক্য: TRUNCATE vs DELETE
| ফিচার | TRUNCATE TABLE | DELETE FROM |
|---|---|---|
| AUTO_INCREMENT রিসেট | হ্যাঁ (১ থেকে) | না (বর্তমান থাকে) |
| রোলব্যাক করা যায় | না (DDL) | হ্যাঁ (DML) |
| ট্রিগার ফায়ার | না | হ্যাঁ |
| দ্রুত | বহুত দ্রুত | ধীর (রো-বাই-রো) |
| WHERE ক্লজ | না | হ্যাঁ |