【问题标题】:MySQL Error #1064 on this INSERT? [duplicate]此 INSERT 上的 MySQL 错误 #1064? [复制]
【发布时间】:2012-07-03 05:53:31
【问题描述】:

不知道出了什么问题,现在就在 PHP MyAdmin 中运行它。有什么突然出现的吗?谢谢。

INSERT INTO order (CustomerID, BillAddr, ShipAddr, Date, Total)   
VALUES ('test', 'test', 'test', '2012-07-02', 22)

错误:

MySQL 说:#1064

order表的结构:

FIELD                TYPE  
OrderID         int(11) auto increment  
CustomerID      varchar(50)  
BillAddr        varchar(200)  
ShipAddr        varchar(200)  
Date            date  
Total           double  

(我将 OrderID 排除在 INSERT 之外,因为它是一个自动增量)

编辑
与此语法相同的错误:

SQL query:

INSERT INTO 'order'( CustomerID, BillAddr, ShipAddr, 'Date', Total )
VALUES (
'test', 'test', 'test', '2012-07-02', 22
)
MySQL said: Documentation
#1064 - 

【问题讨论】:

    标签: mysql sql database debugging mysql-error-1064


    【解决方案1】:

    Date 这个词是一个关键字。试试这样:

    INSERT INTO `order` (CustomerID, BillAddr, ShipAddr, `Date`, Total)   
    VALUES ('test', 'test', 'test', '2012-07-02', 22)
    

    ETA:而且order 也是一个关键字:)

    【讨论】:

    • 关键字周围的单引号.... 仍然得到 1064?请查看问题的编辑。
    • @greg,不是单引号,而是反引号。单引号用于字符串。
    • @greg - 您也可以在 ANSI 模式下使用双引号代替反引号。
    • @Eric Petroelje:后面的勾号做到了,我这辈子从来没有用过,不知道我是否应该承认这一点。好的,谢谢,我也会记住双引号!
    • 感谢您的回答,我被 group 关键字咬了。
    猜你喜欢
    • 2014-01-22
    • 1970-01-01
    • 2014-07-12
    • 2019-11-29
    • 2012-03-29
    • 1970-01-01
    • 2011-02-11
    • 2015-07-03
    • 1970-01-01
    相关资源
    最近更新 更多