[SQL] Reset Auto increment column บน Microsoft SQL Server
ในการจัดการข้อมูลบน Microsoft SQL Server เราจะสังเกตว่าส่วนใหญ่ในบาง Table จะมีการทำ Auto Increment หรือ identity counter เอาไว้ซึ่ง เวลาเราทำการ insert ข้อมูลใหม่จะมีผลทำ column ดังกล่าวมีการเพิ่มข้อมูลโดยอัตโนมัติโดยข้อมูลที่เพิ่มขึ้นมาจากข้อมูลของ row สุดท้ายก่อนที่จะ insert ส่วนมากจะใช้เป็น ID หรือ Index ของข้อมูลบน Table
ตัวอย่างเช่น Table Employee ที่มี Employee Id เป็น Primary Key และ set เป็น Identity counter ไว้
หากทำการ insert ข้อมูลใหม่ column จะ Auto Increment ค่าให้ทันที
แต่ในกรณีที่ทำการ Delete row ออกไปและทำการ insert ใหม่ Database จะไม่ reset ข้อมูลกลับมาแต่จะเพิ่มขึ้นไปเรื่อยๆ แทน
ทีนี้เราอยากจะ reset ให้ Employee Id เป็น 6 ใหม่ สามารถทำได้โดยใช้ command
DBCC CHECKIDENT ('[TableName]', RESEED, 0);
โดยในตัวอย่างนี้จะเปลี่ยน 0 ด้านหลังเป็น 5 เพราะเราต้องการ Employee Id 6
จากนั้นทำการ insert ข้อมูลอีกครั้งจะเห็นว่าจะได้ Employee Id 6 กลับมาแล้ว
สามารถศึกษาข้อมูลเพิ่มเติมได้ที่