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

Cách tạo bảng MySQL tên chứa ký tự đặc biệt (như a^b)


Để tạo bảng/cột tên chứa ký tự đặc biệt, phải dùng ký tự trích dẫn (quote character). Dấu trích dẫn có thể là dấu backtick (`) hoặc dấu ngoặc kép (") tùy chế độ ANSI_QUOTES SQL mode.

Chế độ ANSI_QUOTES TẮT (mặc định)

Ký tự trích dẫn là backtick (`):

mysql> Create table `a^b`(`a^b` int);
Query OK, 0 rows affected (0.19 sec)
mysql> Create table "a^g"("a^g" int);
ERROR 1064 (42000): You have an error in your SQL syntax...

Dùng backtick thành công, dùng ngoặc kép lỗi.

Chế độ ANSI_QUOTES BẬT

Cả backtick và ngoặc kép đều dùng được:

mysql> Set sql_mode = 'ANSI_Quotes';
Query OK, 0 rows affected (0.03 sec)
mysql> Create table "a^d"("a^d" int);
Query OK, 0 rows affected (0.21 sec)
mysql> Create table `a^e`(`a^e` int);
Query OK, 0 rows affected (0.14 sec)

Khuyến nghị: Luôn dùng backtick (`) để an toàn, hoạt động trong cả hai chế độ. Tránh dùng tên bảng/cột trùng từ khóa SQL hoặc chứa ký tự đặc biệt trừ khi bắt buộc.