mysql:无法创建表

mysql:无法创建表,mysql,mysql-error-1064,Mysql,Mysql Error 1064,这是失败的 错误:#1064-您的SQL语法有错误;检查手册 对应于MySQL服务器版本的正确语法 在5390e910_abb3_40e2_bdfa_bd9d369e6dc6附近使用 第1行的通知(样本)(历史) 现在我看不到上述名称有任何缺陷,正如mysql文档所说: 最多64个字符 可以以任何字母/数字开头 a包含下划线/字母/数字 虽然我可以运行这样的程序: create table 5390e910_abb3_40e2_bdfa_bd9d369e6dc6 like sample_tabl

这是失败的

错误:#1064-您的SQL语法有错误;检查手册 对应于MySQL服务器版本的正确语法 在5390e910_abb3_40e2_bdfa_bd9d369e6dc6附近使用 第1行的通知(样本)(历史)

现在我看不到上述名称有任何缺陷,正如mysql文档所说:

  • 最多64个字符

  • 可以以任何字母/数字开头

  • a包含下划线/字母/数字

  • 虽然我可以运行这样的程序:

    create table 5390e910_abb3_40e2_bdfa_bd9d369e6dc6 like sample_table
    
    我相信这是第一个“e”。当我将该字符替换为任何其他字母时,查询工作正常

    我对此并不肯定,但我怀疑MySQL正在读取您的字符串,并认为它意味着数字“5390乘以10乘以910abb3的幂[etc]”。虽然所有数字表名都有效,但它们必须被引用

    请尝试将表名括在后面的记号中。这对我很有用:

    create table 1f8b784f_f580_4a82_9e93_167a2d9c79f5 like  sample_table
    

    您的错误消息(
    like notification\u sample\u history
    )与您给定的语句(
    like sample\u table
    )不匹配。请发布导致错误的确切语句。您使用的表的描述性名称多么好。期待维护该模式这里真正的问题是表的名称-到底为什么这样命名?@juergend-它显然是一个UUID,他显然在做某种自动/编程模式DDL,使用sample_表作为模板,在运行时设置一个新的实体/数据存储表。可能是X/Y问题,但问题是有效的。无论如何,请尝试引用表名。mysql文档指出,如果表名“仅由数字组成”,则必须引用该表名。也许它的意思是“数字和下划线以及一些非数字的十六进制数字”或其他什么。谁知道呢?这是10的幂,不是
    e
    的幂。这是普通的浮点文字语法,
    2e20
    表示2乘以10的20次方。是的,你说得对。大脑抽筋,对不起。我会解决的。我用的是'而不是'。很好用。谢谢
    create table `5390e910_abb3_40e2_bdfa_bd9d369e6dc6` like abbreviations;