ใน MySQL คอลัมน์ที่กำหนด AUTO_INCREMENT จะสร้างค่าอัตโนมัติ หากไม่ต้องการระบุค่าเอง ให้ส่งค่า NULL, 0, หรือ DEFAULT ในคำสั่ง INSERT
ตัวอย่างการใช้งาน
สร้างตารางมี Auto Increment:
mysql> create table DemoTable1350 (StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, StudentName varchar(20));
Insert ด้วย 3 วิธีที่ไม่ระบุค่า Id:
mysql> insert into DemoTable1350 values(NULL,'Chris'); mysql> insert into DemoTable1350 values(0,'Chris'); mysql> insert into DemoTable1350 values(DEFAULT,'Chris');
ผลลัพธ์ (Id สร้างอัตโนมัติ 1, 2, 3)
+-----------+-------------+ | StudentId | StudentName | +-----------+-------------+ | 1 | Chris | | 2 | Chris | | 3 | Chris | +-----------+-------------+
คำอธิบาย:
NULL: ค่าเริ่มต้นมาตรฐาน ส่งสัญญาณให้ Auto Increment ทำงาน0: MySQL เฉพาะเจาะจง ถือว่าเทียบเท่า NULL สำหรับ Auto IncrementDEFAULT: ใช้ค่า Default ของคอลัมน์ (สำหรับ Auto Increment คือค่าถัดไป)- แนะนำ: ใช้
NULLหรือระบุคอลัมน์ชัดเจนINSERT INTO table (name) VALUES ('Chris')(ไม่ต้องพิมพ์ Id เลย) - หาก Insert ค่าตัวเลขเฉพาะเจาะจง (เช่น 100) Auto Increment จะข้ามไป (Next = 101)