我尝试了太多组合添加和删除表名中的字符,我得出的结论是,如果表名包含特定序列,如'e'之前和之后的一个数字字符,则mysql无法生成表。
create table 28e78f70_4461_4950_8893_ad848dee55f1_20180517111601410 (id BIGINT) ROW_FORMAT=COMPACT
以上查询引发错误
#1064 - 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 '28e78f70 (id BIGINT) ROW_FORMAT=COMPACT' at line 1
但如果我在表名之前添加任何字符,例如'e28e78f70'
,它就有效create table e28e78f70 (id BIGINT) ROW_FORMAT=COMPACT
以上查询成功执行。
这种行为不端的具体原因是什么?
答案 0 :(得分:1)
使用下面的SQL创建以数字开头的表:
create table `28e78f70` (id BIGINT) ROW_FORMAT=COMPACT;