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

Tạo database tên số trong MySQL: bắt buộc dùng backticks

Tên database (identifier) bắt đầu bằng chữ số là không hợp lệ theo cú pháp chuẩn. MySQL yêu cầu bao quanh bằng backticks ` để escape.

❌ Sai (lỗi cú pháp)

CREATE DATABASE 1233;
ERROR 1064 (42000): You have an error in your SQL syntax near '1233'

✅ Đúng (dùng backticks)

CREATE DATABASE `1233`;

Chuyển sang database:

USE `1233`;

Quy tắc đặt tên identifier trong MySQL

  • Không được bắt đầu bằng chữ số (trừ khi dùng backticks).
  • Có thể chứa: chữ cái, chữ số, _, $.
  • Không được là từ khóa reserved (ORDER, GROUP, SELECT...) trừ khi dùng backticks.
  • Độ dài tối đa: 64 ký tự.
  • Phân biệt chữ hoa/thường tuỳ lower_case_table_names (Windows=1, Linux=0).

Các đối tượng khác cũng cần backticks nếu tên đặc biệt

Khuyến nghị

  • Tránh hoàn toàn tên bắt đầu bằng số hoặc từ khóa reserved.
  • Đặt tên có ý nghĩa: db_2024_sales, analytics_123.
  • Nếu bắt buộc (legacy, migration), luôn dùng backticks quanh tên.
Đối tượngVí dụ
Bảng\`order\`, \`123_table\`
Cột\`select\`, \`my-column\`
Index\`idx_name\`
AliasSELECT col AS \`my alias\`