Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Khắc phục lỗi MySQL ERROR 1064 (42000) sai cú pháp gần ')'

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ải NOW).
  • 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.