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

ดูค่า Auto Increment ถัดไปของตาราง MySQL โดยไม่ใช้ SHOW TABLE

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) ที่มีอยู่