繁体   English   中英

MySQL 创建临时表语法错误

[英]MySQL Creating temporary table syntax error

运行 MySQL 语句时出现语法错误。

我知道可以将反引号添加到表名中以使其工作,但想知道为什么它首先会发生。

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

如果我把它放在 Mysql 查询浏览器中,它会将表名视为两个单独的单词 - 6514202534e1b20f0d6331

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

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

使用 ` 字符:

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

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

例如,`order` 是合法的,而仅 order 会因无效的 order 子句而引发错误。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM