如何创建一个名称为 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)

相关文章