【问题标题】:Debug Error in MySQL syntax please请调试 MySQL 语法中的错误
【发布时间】:2012-06-19 02:12:09
【问题描述】:

任何想法我做错了什么???

INSERT INTO LondonFixes ('id', 'Metal', 'AmPm', 'GBP', 'USD', 'EUR', 'Updated')VALUES(NULL, 'Gold', 'AM', '1055.91', '1646.00', '1272.03', '2012-06-19')

给出以下错误:

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 ''id', 'Metal', 'AmPm', 'GBP', 'USD', 'EUR', 'Updated')VALUES(NULL, 'Gold', 'AM',' at line 1

【问题讨论】:

  • 你不要在字段名周围加上引号

标签: php mysql sql syntax


【解决方案1】:
 INSERT INTO LondonFixes (id, Meta, AmPm, GBP, USD, EUR, Updated)
 VALUES(NULL, 'Gold', 'AM', '1055.91', '1646.00', '1272.03', '2012-06-19')

【讨论】:

  • 谢谢。我有一个错误,在 phpmyadmin 中测试了一个查询,它在那里放了反引号。我以为这些和单引号一样!!!
【解决方案2】:

在 MySQL 中,如果要转义列名,请不要使用 single quote,而应使用 backtick

INSERT INTO LondonFixes (`id`, `Metal`, `AmPm`, `GBP`, `USD`, `EUR`, `Updated`)
VALUES(NULL, 'Gold', 'AM', '1055.91', '1646.00', '1272.03', '2012-06-19')

【讨论】:

  • 谢谢,反引号和单引号有什么区别?
  • 单引号包裹一个值,而反引号从保留关键字中转义列名。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-22
  • 2016-04-01
  • 2016-09-29
相关资源
最近更新 更多