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

ฉันจะรับค่า AUTO_INCREMENT ปัจจุบันสำหรับตารางใน MySQL ได้อย่างไร


หากต้องการทราบค่า auto_increment ปัจจุบัน เราสามารถใช้ฟังก์ชันlast_insert_id() ขั้นแรก เราจะสร้างตารางโดยใช้คำสั่ง INSERT

การสร้างตาราง −

mysql> สร้างตาราง AutoIncrement-> (-> IdAuto int auto_increment,-> คีย์หลัก (IdAuto)-> ); แบบสอบถามตกลง 0 แถวได้รับผลกระทบ (0.59 วินาที)

หลังจากสร้างตาราง เราจะแทรกระเบียนโดยใช้คำสั่ง INSERT แทรกบันทึก -

mysql> INSERT เป็นค่า AutoIncrement (); Query OK, 1 แถวได้รับผลกระทบ (0.48 วินาที) mysql> INSERT เป็นค่า AutoIncrement (); Query OK, 1 แถวได้รับผลกระทบ (0.17 วินาที) mysql> INSERT ลงในค่า AutoIncrement (); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.13 วินาที) mysql> INSERT เป็นค่าการเพิ่มอัตโนมัติ (); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.09 วินาที)

ตอนนี้ เราจะดูว่าฉันได้แทรกระเบียนลงในตารางของฉันกี่รายการโดยใช้คำสั่ง SELECT

แสดงบันทึกทั้งหมด -

mysql> SELECT * จากการเพิ่มอัตโนมัติ;+-------+| ไอดีออโต้ |+---------+| 1 || 2 || 3 || 4 |+-------+4 แถวในชุด (0.00 วินาที)

ดังนั้น การเพิ่มอัตโนมัติครั้งสุดท้ายคือ 4 นี่คือการสอบถามเพื่อทราบค่าปัจจุบันที่ใส่เข้าไป ซึ่งก็คือ 4

mysql> SELECT last_insert_id();

ต่อไปนี้เป็นผลลัพธ์ -

<ก่อนหน้า>+-----------------+| last_insert_id() |+-----------------+| 4 |+------------------+1 แถวในชุด (0.00 วินาที)

นี่คือข้อความค้นหาที่บอกค่าการเพิ่มอัตโนมัติถัดไป ไวยากรณ์มีดังนี้ −

เลือก `AUTO_INCREMENT`FROM INFORMATION_SCHEMA.TABLESWHERE TABLE_SCHEMA ='yourDatabaseName' AND TABLE_NAME ='yourTableName';

ตอนนี้ฉันกำลังใช้แบบสอบถามข้างต้น -

mysql> SELECT `AUTO_INCREMENT`-> จาก INFORMATION_SCHEMA.TABLES-> โดยที่ TABLE_SCHEMA ='business'-> และ TABLE_NAME ='AutoIncrement';

ต่อไปนี้เป็นผลลัพธ์ -

<ก่อนหน้า>+---------------------------+| AUTO_INCREMENT |+----------------------------+| 5 |+---------------------------+1 แถวในชุด (0.13 วินาที)

จากข้อความค้นหาด้านบนนี้ เราจะได้ค่าที่เพิ่มขึ้นถัดไป