【问题标题】:MySQL error while "insert" command“插入”命令时出现 MySQL 错误
【发布时间】:2011-09-14 21:52:44
【问题描述】:

以下是我的表的架构(name->add_to_cart);

add_to_cart_id   int(10) PK
created_date     timestamp
ip_address       varchar(17)
customer_id      int(11)
session_id       varchar(1024)
brand_id           int(11)
product_id       int(11)
sales_event_id   int(11)
quantity         int(11)
referer          varchar(1024)
user_agent       varchar(1024)

但每当我尝试执行以下查询时

INSERT INTO `add_to_cart` (add_to_cart_id,created_date,ip_address,customer_id,session_id,sku_id,product_id,sales_event_id,quantity,referer,user_agent) VALUES (1,2011-02-24 20:40:34,66.65.135.89,70154,qbk5r0rg9sl2ndiimquvnsab46,83791,308933,10105,2,https://www.onekingslane.com/product/10105/308933,Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_5; en-us) AppleWebKit/533.19.4 (KHTML);

我收到以下错误

ERROR 1064 (42000):您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册以获取正确的 附近使用的语法 '20:40:34,66.65.135.89,70154,qbk5r0rg9sl2ndiimquvnsab46,83791,308933,10105,2,http' 在第 1 行 ERROR 1064 (42000):您的 SQL 语法有错误; 检查与您的 MySQL 服务器版本相对应的手册 在第 1 行的“U”附近使用正确的语法错误 1064 (42000):你有一个 SQL 语法错误;检查与您对应的手册 MySQL 服务器版本,用于在“Intel Mac OS X”附近使用正确的语法 第 1 行的 10_6_5' 错误 1064 (42000):您的 SQL 中有错误 句法;检查与您的 MySQL 服务器版本相对应的手册 在 'en-us) AppleWebKit/533.19.4 (KHTML)' 附近使用正确的语法 在第 1 行

我做错了什么。 谢谢。

【问题讨论】:

    标签: mysql insert syntax-error


    【解决方案1】:

    你需要引用字符串值

    INSERT INTO `add_to_cart`
    (
        add_to_cart_id,
        created_date,
        ip_address,
        customer_id,
        session_id,
        sku_id,
        product_id,
        sales_event_id,
        quantity,
        referer,
        user_agent
    )
    VALUES
    (
        1,
        '2011-02-24 20:40:34',
        '66.65.135.89',
        70154,
        'qbk5r0rg9sl2ndiimquvnsab46',
        83791,
        308933,
        10105,
        2,
        'https://www.onekingslane.com/product/10105/308933,Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_5; en-us) AppleWebKit/533.19.4 (KHTML);'
    )
    

    【讨论】:

    • Joe 所说的 - 字符串用单引号括起来,而数字则不然。转义你的字符串,不要转义你的数字。
    • 嘿.. 是的.. stackoverflow 要求我等待一段时间才能接受答案.. :P
    • 别担心,它确实做到了:P 干杯
    • 这种错误与 C/C++/Java 和其他高级语言中缺少;(分号)一样普遍
    猜你喜欢
    • 2012-05-26
    • 2015-10-09
    • 2021-03-02
    • 2018-09-18
    • 1970-01-01
    • 2013-07-26
    • 1970-01-01
    • 1970-01-01
    • 2011-09-04
    相关资源
    最近更新 更多