การแก้ไขข้อผิดพลาด Syntax Error 1064 จากการใช้ var_char แทน varchar
ข้อผิดพลาด ERROR 1064 (42000): You have an error in your SQL syntax เกิดขึ้นบ่อยเมื่อพิมพ์ชนิดข้อมูลผิด เช่น ใช้ var_char แทน VARCHAR (MySQL ไม่มีชนิดข้อมูลชื่อ var_char)
ตัวอย่างข้อผิดพลาด
mysql> CREATE TABLE removeErrorDemo (
-> StudentId INT,
-> StudentName var_char(50)
-> );
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 'var_char(50) )' at line 4
วิธีแก้ไข
เปลี่ยน var_char เป็น VARCHAR (ตัวพิมพ์เล็ก/ใหญ่ไม่สำคัญ แต่ควรใช้มาตรฐาน):
mysql> CREATE TABLE removeErrorDemo (
-> StudentId INT,
-> StudentName VARCHAR(100)
-> );
Query OK, 0 rows affected (1.72 sec)
สาเหตุทั่วไปของ ERROR 1064
- พิมพ์คำสงวน (Reserved Words) ผิด เช่น
var_char,intger,decimel - ขาดเครื่องหมายคำพูด, คอมมา, วงเล็บ
- ใช้คำสงวนเป็นชื่อตาราง/คอลัมน์โดยไม่หุ้ม Backtick (``)
- Syntax ไม่รองรับเวอร์ชัน MySQL ที่ใช้ (เช่น
LATERALต้อง 8.0+)
เคล็ดลับการ Debug
- อ่านข้อความ Error:
near '...' at line Nบอกตำแหน่งประมาณ - ตรวจสอบคำสงวนใน MySQL Reserved Words
- ลองรันคำสั่งทีละส่วน (แยก CREATE TABLE, ALTER, INSERT)
- ใช้ IDE/Editor ที่มี Syntax Highlighting สำหรับ SQL
การแก้ไขเพียงเปลี่ยน var_char → VARCHAR ก็เพียงพอต่อการแก้ไขข้อผิดพลาดนี้แล้ว