MySQL创建临时表语法错误

问题描述 投票:1回答:1

运行MySQL语句时收到语法错误。

我知道可以在表名中添加反引号以使其起作用,但想知道为什么它会首先出现。

Create temporary table 6514202534e1b20f0d6331 (user_id INT (10)) ENGINE=HEAP;

如果将其放在Mysql Query Browser中,它将表名视为两个单独的词-6514202534e1b20f0d6331

表名是动态生成的,以前我没有这个问题,所以我想知道为什么它突然停止工作。

mysql mysql-error-1064
1个回答
2
投票

我认为这是因为服务器(mysql)在这种情况下将其理解为6514202534 * e ^ 1 INT。

使用`字符:

CREATE TEMPORARY TABLE `6514202534e1b20f0d6331` (user_id INT (10)) ENGINE=HEAP;

通过这种方式,MySQL Server会(明确地)理解整个短语是数据库,表或字段,而不是值或函数等。

例如,`order`是合法的,而正义订单将因无效的order子句而引起错误。

© www.soinside.com 2019 - 2024. All rights reserved.