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

แก้ไข MySQL Error #1064: Syntax Error ใกล้เครื่องหมาย )

สาเหตุและวิธีแก้ไข Error 1064 ใน MySQL

Error #1064 (42000) เกิดจาก **Syntax Error** หรือไวยากรณ์ SQL ผิดพลาด สาเหตุที่พบบ่อยคือ **คอมม่า (,) ค้างอยู่ท้ายฟิลด์สุดท้าย** ในคำสั่ง CREATE TABLE

ตัวอย่างที่ผิด (มีคอมม่าค้างท้ายบรรทัด isMarried)

mysql> CREATE TABLE DemoTable (
    UserId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    UserName VARCHAR(100),
    UserAge INT,
    UserAddress VARCHAR(200),
    UserCountryName VARCHAR(100),
    isMarried BOOLEAN,   -- <-- คอมม่าค้างตรงนี้
);
ERROR 1064 (42000): You have an error in your SQL syntax; 
check the manual that corresponds to your MySQL server version 
for the right syntax to use near ')' at line 10

ตัวอย่างที่ถูกต้อง (ลบคอมมาท้ายออก)

mysql> CREATE TABLE DemoTable (
    UserId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    UserName VARCHAR(100),
    UserAge INT,
    UserAddress VARCHAR(200),
    UserCountryName VARCHAR(100),
    isMarried BOOLEAN    -- ไม่มีคอมม่าท้าย
);
Query OK, 0 rows affected (1.04 sec)

สาเหตุอื่นๆ ที่ทำให้เกิด Error 1064

  • ใช้คำสำรอง (Reserved Words) เป็นชื่อตาราง/คอลัมน์โดยไม่ห่อด้วยแบ็กทิก (`)
  • ขาดเครื่องหมายคำพูดหรือวงเล็บ
  • ชนิดข้อมูลเขียนผิด (เช่น VARCHAT แทน VARCHAR)
  • ลำดับคีย์เวิร์ดผิด (เช่น ใส่ DEFAULT ก่อน NOT NULL)

เคล็ดลับการแก้ไข

  1. อ่านข้อความ Error ให้ดี - จะบอกตำแหน่งประมาณว่าผิดที่ไหน (near ')' at line 10)
  2. ตรวจสอบบรรทัดที่ระบุและบรรทัดก่อนหน้า
  3. ใช้ IDE หรือ Editor ที่มี Syntax Highlighting ช่วยดูง่ายขึ้น
  4. ทดสอบคิวรี่ทีละส่วนถ้าคำสั่งซับซ้อน