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

Xử lý tên bảng trùng từ khóa reserved word "order" trong MySQL

ORDER là từ khóa dành riêng (reserved word) trong MySQL. Để dùng làm tên bảng hoặc cột, bắt buộc bao quanh bằng backticks `.

Ví dụ minh họa

Tạo bảng tên order (bắt buộc dùng backticks):

CREATE TABLE `order` (StudentId INT);

Chèn dữ liệu:

INSERT INTO `order` VALUES (101), (210), (190), (180), (205);

Truy vấn (cũng cần backticks):

SELECT * FROM `order` ORDER BY StudentId DESC LIMIT 1;

Kết quả

StudentId
210

Danh sách từ khóa reserved phổ biến cần backticks

Khuyến nghị tốt nhất

  • Tránh dùng từ khóa reserved làm tên định danh (bảng, cột, alias).
  • Đặt tên có ý nghĩa: orders, order_items, customer_orders.
  • Nếu buộc phải dùng, luôn dùng backticks quanh tên.
  • Cấu hình sql_mode=ANSI_QUOTES cho phép dùng double quote " thay backtick (nhưng không chuẩn MySQL).

Lưu ý: Backtick ` khác với single quote ' (dùng cho chuỗi). Trên bàn phím thường ở phím cùng với tilde ~.

Từ khóaVí dụ dùng làm tên
ORDER\`order\`
GROUP\`group\`
SELECT\`select\`
INDEX\`index\`
KEY\`key\`
TABLE\`table\`
DATABASE\`database\`
USER\`user\`
RANK\`rank\` (MySQL 8.0+)