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

MySQL: AUTO_INCREMENT=5 ในคำสั่ง CREATE TABLE หมายถึงอะไร?

ค่า AUTO_INCREMENT=5 ในคำสั่งสร้างตาราง (CREATE TABLE) ระบุให้ระบบเริ่มนับหมายเลขอัตโนมัติจาก 5 แทนค่าเริ่มต้นที่เป็น 1 ตามปกติ MySQL จะเริ่มจาก 1 โดยอัตโนมัติหากไม่ได้กำหนดค่า

ไวยากรณ์

CREATE TABLE yourTableName (
    yourColumnName1 dataType NOT NULL AUTO_INCREMENT,
    ...
    PRIMARY KEY(yourColumnName1)
) AUTO_INCREMENT=5;

ตัวอย่างการใช้งาน

กรณีที่ 1: เริ่มจากค่าเริ่มต้น (1)

mysql> create table defaultAutoIncrementDemo (
    -> Id int NOT NULL AUTO_INCREMENT,
    -> Name varchar(10),
    -> PRIMARY KEY(Id)
    -> );
Query OK, 0 rows affected (2.19 sec)

เพิ่มข้อมูลทดสอบ:

mysql> insert into defaultAutoIncrementDemo(Name) values('John');
mysql> insert into defaultAutoIncrementDemo(Name) values('James');
mysql> insert into defaultAutoIncrementDemo(Name) values('Robert');
mysql> insert into defaultAutoIncrementDemo(Name) values('Mike');

ผลลัพธ์:

+----+--------+
| Id | Name   |
+----+--------+
|  1 | John   |
|  2 | James  |
|  3 | Robert |
|  4 | Mike   |
+----+--------+

กรณีที่ 2: เริ่มจาก 5 ด้วย AUTO_INCREMENT=5

mysql> create table AutoIncrementStartsFrom5 (
    -> Id int NOT NULL AUTO_INCREMENT,
    -> Name varchar(10),
    -> PRIMARY KEY(Id)
    -> ) AUTO_INCREMENT=5;
Query OK, 0 rows affected (1.00 sec)

เพิ่มข้อมูลทดสอบ:

mysql> insert into AutoIncrementStartsFrom5(Name) values('Larry');
mysql> insert into AutoIncrementStartsFrom5(Name) values('David');
mysql> insert into AutoIncrementStartsFrom5(Name) values('Bob');
mysql> insert into AutoIncrementStartsFrom5(Name) values('Ricky');

ผลลัพธ์:

+----+-------+
| Id | Name  |
+----+-------+
|  5 | Larry |
|  6 | David |
|  7 | Bob   |
|  8 | Ricky |
+----+-------+

เห็นได้ชัดว่าค่า ID เริ่มต้นที่ 5 ตามที่กำหนดไว้