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

หาชื่อตารางที่สร้างล่าสุดใน MySQL ด้วย INFORMATION_SCHEMA.TABLES

ใน MySQL สามารถ查หาตารางที่ถูกสร้างล่าสุด (Most Recently Created) ได้โดยสืบค้นจาก INFORMATION_SCHEMA.TABLES เรียงตาม CREATE_TIME ลำดับมากไปน้อย และจำกัด 1 แถว

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

สร้างตารางใหม่ (จะเป็นตารางล่าสุด):

mysql> create table DemoTable1323 (FirstName varchar(10));
mysql> insert into DemoTable1323 values('Chris'),('David'),('Bob');

คำสั่งหาตารางที่สร้างล่าสุด

mysql> select table_name, create_time AS `Time`
    -> from information_schema.tables
    -> where table_schema = 'web'
    -> order by create_time desc limit 1;

ผลลัพธ์

+---------------+---------------------+
| TABLE_NAME    | Time                |
+---------------+---------------------+
| demotable1323 | 2019-09-18 22:03:24 |
+---------------+---------------------+

คำอธิบาย:

  • table_schema = 'web' ระบุชื่อฐานข้อมูล (เปลี่ยนตามจริง)
  • create_time เก็บเวลาที่สร้างตาราง (รองรับ engine InnoDB, MyISAM)
  • ORDER BY create_time DESC เรียงจากใหม่ไปเก่า
  • LIMIT 1 เอาแค่ตัวบนสุด (ล่าสุด)

ข้อจำกัด: บาง Storage Engine หรือการตั้งค่าอาจไม่บันทึก CREATE_TIME (แสดง NULL) ในกรณีนั้นอาจต้องใช้วิธีอื่น เช่น ดูจากไฟล์ระบบหรือ Binary Log