Sửa lỗi MySQL Error #1064 (Syntax Error)
Lỗi #1064 xảy ra do cú pháp SQL không đúng. Nguyên nhân phổ biến nhất là dấu phẩy thừa ở cuối danh sách cột khi tạo bảng.
Ví dụ gây lỗi
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,
); -- <-- Dấu phẩy thừa ở đây
Kết quả lỗi:
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
Cách khắc phục
Xóa dấu phẩy thừa ở cột cuối cùng:
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 -- Không dấu phẩy
);
Query OK, 0 rows affected (1.04 sec)
Các nguyên nhân thường gặp khác của Error #1064
- Sử dụng từ khóa dành riêng (reserved words) làm tên bảng/cột không dùng backtick (
`) - Thiếu hoặc thừa ngoặc đơn, ngoặc vuông
- Sai kiểu dữ liệu (ví dụ:
VARCHAR(100)thay vìVARCHAR 100) - Thiếu từ khóa bắt buộc (ví dụ:
ONtrong JOIN,AStrong alias) - Chuỗi ký tự không được đóng đúng dấu nháy đơn
Mẹo debug
MySQL thường chỉ ra vị trí gần nơi lỗi xảy ra (đoạn near '...'). Hãy kiểm tra kỹ phần SQL xung quanh vị trí đó.