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

แก้ไขข้อผิดพลาด TYPE=HEAP สำหรับตารางชั่วคราวใน MySQL

TYPE=HEAP ถูกเลิกใช้งาน (deprecated) ในเวอร์ชัน MySQL ใหม่ๆ แทนที่จะใช้ TYPE ให้ใช้ ENGINE=HEAP แทน ไวยากรณ์มีดังนี้:

ENGINE=HEAP;

ตัวอย่างการสร้างตาราง

ลองสร้างตารางชั่วคราวโดยกำหนด Engine=HEAP:

mysql> create TEMPORARY table DemoTable 
    -> ( 
    -> StudentId int, 
    -> StudentName varchar(30) 
    -> ) Engine = HEAP; 
Query OK, 0 rows affected (0.00 sec)

ตรวจสอบโครงสร้างตาราง

ใช้คำสั่ง SHOW CREATE TABLE เพื่อดู定义ของตาราง:

mysql> show create table DemoTable;

ผลลัพธ์

จะได้ผลลัพธ์ดังนี้:

+--------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table        | Create Table                                                                                                                                                                                               |
+--------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| DemoTable    | CREATE TEMPORARY TABLE `DemoTable` (`StudentId` int(11) DEFAULT NULL,`StudentName` varchar(30) COLLATE utf8_unicode_ci DEFAULT NULL) ENGINE=MEMORY DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci |
+--------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

หมายเหตุ: แม้จะระบุ ENGINE=HEAP แต่ MySQL จะแปลงเป็น ENGINE=MEMORY เนื่องจาก HEAP เป็นอีลิแอสของ MEMORY