【问题标题】:Mysql super strange syntax error?Mysql超奇怪的语法错误?
【发布时间】:2011-04-28 18:30:10
【问题描述】:
INSERT INTO pmessage (content, time, sent_by, to) VALUES ('k', '0000-00-00 00:00:00', 84, 1);

您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的 'to) VALUES('tt', '2011-04-28 14:04:45', 84, 1)' 附近使用正确的语法

问题是我看不出我的语法有什么问题。列名等没有问题,我们尝试了很多次。我们从互联网上复制/粘贴了准确的插入命令几次,但仍然出现同样的错误。

有人知道吗?服务器是 MySQL 5 服务器

【问题讨论】:

  • SO 的竞争非常激烈。一分钟内有 4 个答案 ;-)

标签: mysql sql syntax insert insert-into


【解决方案1】:

TO 是保留字。见这里:http://dev.mysql.com/doc/refman/5.0/en/reserved-words.html

试试这个:

INSERT INTO pmessage (content, time, sent_by, `to`)
VALUES ('k', '0000-00-00 00:00:00', 84, 1);

【讨论】:

    【解决方案2】:

    to 是 MySQL 关键字。你不能像那样免费使用它。试试[to]

    【讨论】:

    • 是的,反引号。括号是 MS SQL,我的错。
    • 使用反引号,而不是方括号
    【解决方案3】:

    你的问题是toMySQL reserved word,所以你需要引用它。

    【讨论】:

      【解决方案4】:
      【解决方案5】:

      用反引号包裹“到”

      INSERT INTO pmessage (content, time, sent_by, `to`) VALUES ('k', '0000-00-00 00:00:00', 84, 1);
      

      【讨论】:

        猜你喜欢
        • 2013-09-03
        • 2014-04-14
        • 2014-05-09
        • 1970-01-01
        • 1970-01-01
        • 2017-04-03
        • 2010-12-24
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多