Query AUTO_INCREMENT จาก INFORMATION_SCHEMA
ใช้ INFORMATION_SCHEMA.TABLES ดูค่า AUTO_INCREMENT โดยไม่ต้องใช้ SHOW TABLE STATUS
คำสั่ง
SELECT `AUTO_INCREMENT` AS 'NextAutoIncrementValue' FROM `information_schema`.`TABLES` WHERE `TABLE_SCHEMA` = 'yourDatabase' AND `TABLE_NAME` = 'yourTable';
ตัวอย่าง
CREATE TABLE viewtheauto_incrementValueForATableDemo (
StudentId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
StudentName VARCHAR(20)
);
INSERT INTO viewtheauto_incrementValueForATableDemo(StudentName) VALUES
('Ramit'), ('Bob'), ('Chris'), ('Robert'), ('John');
Query ดูค่าถัดไป
SELECT `AUTO_INCREMENT` AS 'NextAutoIncrementValue' FROM `information_schema`.`TABLES` WHERE `TABLE_SCHEMA` = 'test' AND `TABLE_NAME` = 'viewtheauto_incrementValueForATableDemo';
ผลลัพธ์
+------------------------+ | NextAutoIncrementValue | +------------------------+ | 6 | +------------------------+
วิธีอื่น
SHOW TABLE STATUS LIKE 'table_name'- แสดงข้อมูลครบ (รวม Auto_increment)SELECT LAST_INSERT_ID()- ดูค่าล่าสุดที่ Insert ใน Session นี้SELECT MAX(id) + 1 FROM table- คำนวณเอง (ไม่แม่นถามหากมี Gap)
การ Reset Auto Increment
ALTER TABLE table_name AUTO_INCREMENT = 1;
ต้องระวัง: ไม่สามารถตั้งค่าน้อยกว่า MAX(id) ที่มีอยู่