Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

หลีกเลี่ยงการระบุค่า Auto Increment ใน MySQL ใช้ NULL, 0, หรือ DEFAULT

ใน 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 Increment
  • DEFAULT: ใช้ค่า Default ของคอลัมน์ (สำหรับ Auto Increment คือค่าถัดไป)
  • แนะนำ: ใช้ NULL หรือระบุคอลัมน์ชัดเจน INSERT INTO table (name) VALUES ('Chris') (ไม่ต้องพิมพ์ Id เลย)
  • หาก Insert ค่าตัวเลขเฉพาะเจาะจง (เช่น 100) Auto Increment จะข้ามไป (Next = 101)