การสร้าง Temporary Table โครงสร้างเหมือนตารางเดิมด้วย LIKE
คำสั่ง CREATE TEMPORARY TABLE new_table LIKE existing_table จะสร้างตารางชั่วคราว (Temporary Table) ที่มีโครงสร้าง (Columns, Indexes, Engine) เหมือนตารางเดิมทุกประการ แต่ไม่คัดลอกข้อมูล
สร้างตารางปกติและเพิ่มข้อมูล
mysql> CREATE TABLE DemoTable1 (
Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
Name VARCHAR(100)
);
Query OK, 0 rows affected (0.59 sec)
mysql> INSERT INTO DemoTable1(Name) VALUES('Chris');
mysql> INSERT INTO DemoTable1(Name) VALUES('Robert');
mysql> INSERT INTO DemoTable1(Name) VALUES('Mike');
mysql> INSERT INTO DemoTable1(Name) VALUES('Sam');
สร้าง Temporary Table LIKE ตารางเดิม
mysql> CREATE TEMPORARY TABLE DemoTable2 LIKE DemoTable1;
Query OK, 0 rows affected (0.04 sec)
ตรวจสอบโครงสร้าง Temporary Table
mysql> DESC DemoTable2;
ผลลัพธ์:
+-------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+--------------+------+-----+---------+----------------+
| Id | int(11) | NO | PRI | NULL | auto_increment |
| Name | varchar(100) | YES | | NULL | NULL |
+-------+--------------+------+-----+---------+----------------+
2 rows in set (0.04 sec)
คำอธิบาย
TEMPORARY: ตารางจะหายไปอัตโนมัติเมื่อ Session จบ (Disconnect)LIKE DemoTable1: คัดลอกโครงสร้างทั้งหมด (Columns, Indexes, PK, Auto Increment, Engine)- ไม่คัดลอกข้อมูล (Data) - ตารางใหม่ว่างเปล่า
- เหมาะสำหรับการประมวลผลระหว่างทาง (Intermediate results) ใน Stored Procedure หรือ Script
- ผู้ใช้อื่นไม่เห็น Temporary Table ของ Session นี้