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

หาค่า AUTO_INCREMENT ถัดไปใน MySQL

วิธีตรวจสอบค่า AUTO_INCREMENT ถัดไปที่จะใช้ใน MySQL

สามารถสืบค้นค่า AUTO_INCREMENT ถัดไปได้จากตาราง INFORMATION_SCHEMA.TABLES

SELECT AUTO_INCREMENT 
FROM INFORMATION_SCHEMA.TABLES 
WHERE TABLE_SCHEMA = 'yourDatabaseName' 
AND TABLE_NAME = 'yourTableName';

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

สร้างตารางและเพิ่มข้อมูล:

mysql> create table DemoTable (
    ClientId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
    ClientName varchar(20),
    ClientAge int
);
mysql> insert into DemoTable(ClientName,ClientAge) values('John',23);
mysql> insert into DemoTable(ClientName,ClientAge) values('Carol',21);
mysql> insert into DemoTable(ClientName,ClientAge) values('Bob',24);
mysql> insert into DemoTable(ClientName,ClientAge) values('David',25);

ข้อมูลปัจจุบัน (ClientId สูงสุดคือ 4):

+----------+------------+-----------+
| ClientId | ClientName | ClientAge |
+----------+------------+-----------+
| 1        | John       | 23        |
| 2        | Carol      | 21        |
| 3        | Bob        | 24        |
| 4        | David      | 25        |
+----------+------------+-----------+

คิวรีตรวจสอบค่า AUTO_INCREMENT ถัดไป:

mysql> SELECT AUTO_INCREMENT FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'sample' AND TABLE_NAME = 'DemoTable';

ผลลัพธ์:

+----------------+
| AUTO_INCREMENT |
+----------------+
| 5              |
+----------------+

หมายเหตุ: ค่า AUTO_INCREMENT จะเพิ่มขึ้นทุกครั้งที่มีการ INSERT แม้จะมีการ DELETE แถวสุดท้ายออก ค่าก็จะไม่รีเซ็ตอัตโนมัติ (ยกเว้นจะใช้ TRUNCATE TABLE หรือ ALTER TABLE ... AUTO_INCREMENT = n)