สาเหตุและวิธีแก้ไข
ข้อผิดพลาด ERROR 1064 (42000): You have an error in your SQL syntax near 'TYPE = MyISAM' เกิดขึ้นเพราะคำสั่ง TYPE ถูก deprecated และถูกนำออกใน MySQL เวอร์ชันใหม่ ควรใช้ ENGINE แทน
รูปแบบที่ผิด (Deprecated)
CREATE TABLE Customers (
CustomerId INT,
CustomerName VARCHAR(200)
) TYPE = MyISAM; -- ❌ ผิด จะเกิด Error
รูปแบบที่ถูกต้อง (Current Standard)
CREATE TABLE Customers (
CustomerId INT,
CustomerName VARCHAR(200)
) ENGINE = MyISAM; -- ✅ ถูกต้อง
คำแนะนำเพิ่มเติม
- MySQL 5.5+ รองรับ ENGINE เท่านั้น
- ค่า ENGINE ยอดนิยม: InnoDB (ค่าเริ่มต้น), MyISAM, MEMORY
- InnoDB แนะนำสำหรับ production (รองรับ Transaction, Foreign Key, Row-level Locking)
- ตรวจสอบ Engine ที่รองรับได้ด้วยคำสั่ง:
SHOW ENGINES;
การเปลี่ยน Engine ของตารางที่มีอยู่แล้ว
ALTER TABLE table_name ENGINE = InnoDB;