Lỗi ERROR 1064 (42000): You have an error in your SQL syntax ... near ')' thường xuất hiện do **dấu phẩy thừa (trailing comma)** sau cột cuối cùng trong định nghĩa bảng (CREATE TABLE) hoặc danh sách cột INSERT.
Ví dụ gây lỗi
mysql> CREATE TABLE DemoTable1492 (
-> timestamp TIMESTAMP,
-> event INT,
-> ); -- ❌ Dấu phẩy thừa sau cột 'event'
ERROR 1064 (42000): ... near ')' at line 5
Cách sửa
Xóa dấu phẩy sau cột cuối cùng:
mysql> CREATE TABLE DemoTable1492 (
-> timestamp TIMESTAMP,
-> event INT -- ✅ Không dấu phẩy
-> );
Query OK, 0 rows affected (0.44 sec)
Kiểm tra hoạt động
mysql> INSERT INTO DemoTable1492 VALUES (NOW(), 101); mysql> INSERT INTO DemoTable1492 VALUES (NOW() + INTERVAL 3 MONTH, 102); mysql> SELECT * FROM DemoTable1492; +---------------------+-------+ | timestamp | event | +---------------------+-------+ | 2019-10-06 10:56:53 | 101 | | 2020-01-06 10:57:07 | 102 | +---------------------+-------+
Các nguyên nhân phổ biến khác của ERROR 1064
- Từ khóa dành riêng (reserved word) làm tên cột/bảng không được bọc backtick (ví dụ:
order,group,timestamp→ dùng`timestamp`). - Thiếu dấu ngoặc đóng/mở.
- Sai cú pháp hàm (ví dụ:
NOW()không phảiNOW). - Chuỗi không đóng dấu nháy.
Mẹo debug: Thông báo lỗi chỉ vị trí near '...' – hãy nhìn ngay trước vị trí đó để tìm ký tự thừa/thiếu.