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

แก้ไข MySQL ERROR 1064 (42000): Syntax Error ใกล้ 'var_char'

การแก้ไขข้อผิดพลาด 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

  1. อ่านข้อความ Error: near '...' at line N บอกตำแหน่งประมาณ
  2. ตรวจสอบคำสงวนใน MySQL Reserved Words
  3. ลองรันคำสั่งทีละส่วน (แยก CREATE TABLE, ALTER, INSERT)
  4. ใช้ IDE/Editor ที่มี Syntax Highlighting สำหรับ SQL

การแก้ไขเพียงเปลี่ยน var_char → VARCHAR ก็เพียงพอต่อการแก้ไขข้อผิดพลาดนี้แล้ว