如何创建一个名称为 a^b 且列名称相同的表?\name?
mysqlmysqli database
要创建具有此类名称的表,我们必须使用引号字符。引号可以是单引号或双引号,具体取决于 ANSI_QUOTES SQL 模式。
如果此模式 disabled(已禁用),则标识符引号字符为反引号("`")。请考虑以下示例,其中我们创建了一个名为"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)