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

วิธีหา Auto-Increment ID ถัดไปใน MySQL

ใช้คอลัมน์ AUTO_INCREMENT จาก information_schema.TABLES เพื่อดูค่า ID ถัดไปที่จะถูกกำหนด

สร้างตารางมี Auto Increment

mysql> CREATE TABLE NextIdDemo (
    -> id INT AUTO_INCREMENT,
    -> PRIMARY KEY(id)
    -> );

mysql> INSERT INTO NextIdDemo VALUES (1), (2), (3);

ข้อมูลปัจจุบันมี ID 1, 2, 3 ดังนั้น ID ถัดไปควรเป็น 4

Query ดูค่า Auto Increment ถัดไป

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

ตัวอย่างจริง (database ชื่อ business):

mysql> SELECT AUTO_INCREMENT 
    -> FROM information_schema.TABLES 
    -> WHERE TABLE_SCHEMA = 'business' 
    -> AND TABLE_NAME = 'NextIdDemo';

ผลลัพธ์:

+----------------+
| AUTO_INCREMENT |
+----------------+
| 4              |
+----------------+

วิธีอื่น: ใช้ LAST_INSERT_ID()

หลังจาก INSERT แล้ว ใช้ SELECT LAST_INSERT_ID(); จะได้ ID ที่เพิ่ง Insert ไป (ไม่ใช่ ID ถัดไป)

ข้อควรระวัง: ค่า AUTO_INCREMENT อาจกระโดดหากมีการ DELETE แถวสุดท้าย หรือ Restart Server ใน InnoDB