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
| Đối tượng | Ví dụ |
|---|---|
| Bảng | \`order\`, \`123_table\` |
| Cột | \`select\`, \`my-column\` |
| Index | \`idx_name\` |
| Alias | SELECT col AS \`my alias\` |