Trong MySQL, tên cột, tên bảng, tên database phải dùng backtick (`), còn chuỗi ký tự (string) dùng single quote (') hoặc double quote ("). Dùng nháy đơn cho tên cột sẽ gây lỗi ERROR 1064 (42000).
Ví dụ lỗi
mysql> CREATE TABLE Backtick_Demo (
-> Id INT NOT NULL AUTO_INCREMENT,
-> Ten VARCHAR(20),
-> TenFile VARCHAR(30),
-> PRIMARY KEY(Id)
-> );
-- SAI: dùng single quote cho tên cột TenFile
mysql> INSERT INTO Backtick_Demo(`Ten`, 'TenFile') VALUES('John', 'Sum.cpp');
ERROR 1064 (42000): You have an error in your SQL syntax...
Cách đúng: dùng backtick cho tên cột
mysql> INSERT INTO Backtick_Demo(`Ten`, `TenFile`) VALUES('John', 'Sum.cpp');
Query OK, 1 row affected
Cũng được: không dùng backtick (nếu tên không chứa ký tự đặc biệt/từ khóa)
mysql> INSERT INTO Backtick_Demo(Ten, TenFile) VALUES('Larry', 'SocketProgram.java');
mysql> INSERT INTO Backtick_Demo(Ten, TenFile) VALUES('Mike', 'UserCreationScript.sql');
Kết quả
+----+-------+------------------------+ | Id | Ten | TenFile | +----+-------+------------------------+ | 1 | John | Sum.cpp | | 2 | Larry | SocketProgram.java | | 3 | Mike | UserCreationScript.sql | +----+-------+------------------------+
Quy tắc nhớ:
`ten_cot`,`ten_bang`,`ten_db`→ identifier (định danh)'chuoi_ky_tu',"chuoi_ky_tu"→ string literal (giá trị)