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

Có thể dùng 'year' làm tên cột trong bảng MySQL không?


Trả lời ngắn: CÓ

YEAR **không phải** là từ khóa dành riêng (reserved word) trong MySQL, nên có thể dùng làm tên cột bình thường **không cần backtick**.

Ví dụ minh họa

Tạo bảng với cột Year

mysql> CREATE TABLE DemoTable (
    Year INT
);

Chèn dữ liệu

mysql> INSERT INTO DemoTable VALUES (1995), (2019), (2016), (2018);

Truy vấn

mysql> SELECT * FROM DemoTable;
+------+
| Year |
+------+
| 1995 |
| 2019 |
| 2016 |
| 2018 |
+------+
mysql> SELECT Year FROM DemoTable;
+------+
| Year |
+------+
| 1995 |
| 2019 |
| 2016 |
| 2018 |
+------+

Tuy nhiên, KHUYẾN NGHỊ dùng backtick

SELECT `Year` FROM DemoTable;

Lý do:

  • Tránh xung đột nếu MySQL version sau thêm YEAR vào reserved word.
  • Tránh nhầm lẫn với hàm YEAR(date).
  • Thông lệ tốt (best practice) cho mọi identifier.
  • Một số tool ORM/query builder tự động thêm backtick.

Từ khóa liên quan thực sự là reserved

  • YEAR() - Hàm trích xuất năm từ date.
  • YEAR_MONTH, DAY_HOUR... - Đơn vị INTERVAL.

Kiểm tra từ khóa reserved

SHOW KEYWORDS; -- Hoặc xem tài liệu MySQL version cụ thể