MySQL 如何创建一个名称为a^b的表并具有相同的列名?
名称?
为了创建一个这样的名称的表,我们必须使用引号字符。引号可以是单引号或双引号,取决于ANSI_QUOTES SQL模式。
如果禁用此模式,则标识符引号字符为反引号(“`”)。考虑以下示例,我们创建了一个名为“select”的表 –
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; check the
manual that corresponds to your MySQL server version for the right
syntax to use near '"a^g" ("a^g" int)' at line 1
如果启用此模式,则我们可以使用反引号(“`”)和双引号(“”)作为引号字符。考虑以下示例,我们在启用此模式后使用两个引号字符创建了与上述名称相同的表:
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)
阅读更多:MySQL 教程