尝试创建名称为9e1617bafr1_1的数据库时出现语法错误

时间:2016-11-11 15:36:36

标签: mysql syntax-error

昨天我偶然发现了一个奇怪的问题。

我有一个PHP脚本,可以根据一些输入为我创建mysql数据库。

当脚本尝试生成名为" 9e1617bafr1_1"的数据库时(没有引号)我得到了这个错误" MySQL错误1064:你的SQL语法错误"。

查询为CREATE DATABASE IF NOT EXISTS 9e1617bafr1_1

尝试在https://de.piliapp.com/mysql-syntax-check/http://sqlfiddle.com/

上执行时,我也会收到错误消息

我通过在数据库名称之前和之后使用反引号解决了这个问题但是我仍然想知道为什么我首先得到这个错误,因为创建了" 9d1617bafr1_1"," 9f1617bafr1_1& #34;等完美无缺。

不幸的是,我没有在互联网上发现任何有用的行为,因为我非常好奇,我想问一下是否有人知道这是一个保留字还是以任何方式违反了SQL标准?

1 个答案:

答案 0 :(得分:2)

9e1617bafr1_1被解析为数字(9e1617),后跟一个字符串(bafr1_1)。您的其他尝试“9d1617bafr1_1”和“9f1617bafr1_1”不是以科学记数开头的,因此它们不会被解析。