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

วิธีแก้ไขข้อผิดพลาด MySQL 'TYPE=MyISAM'

สาเหตุและวิธีแก้ไข

ข้อผิดพลาด 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;