为什么这个非常简单的SQL查询在MS Access中失败?

时间:2011-06-03 16:14:12

标签: sql ms-access jet jet-sql

我有一个问题,即所有权利都不应该失败,我不能为我的生活找出原因

INSERT INTO Grocery_Store_Prices(Store,Item,Brand,Price,Unit,Quantity,Note) 
VALUES("Kroger","Cheesy Poof","Cartman",0.51,"fart",15,"what is going on");

当我尝试运行查询时,我收到“INSERT INTO语句中的语法错误”,并突出显示Note字段。如果我省略Note字段及其值,查询工作正常。有什么东西真的很明显我不知道,还是有一个Jet SQL怪癖埋在这里???

它所采取的表格是: Grocery_Store_Prices

  • ID - 自动编号主键
  • 商店 - 文字
  • 日期 - 日期/时间
  • 项目 - 文字
  • 品牌 - 文字
  • 价格 - 货币
  • 单位 - 文字
  • 数量 - 数量(双倍)
  • 注意 - 文字。

2 个答案:

答案 0 :(得分:9)

“注意”是Microsoft Access中的保留字。你需要用方括号括起来:

INSERT INTO Grocery_Store_Prices(Store,Item,Brand,Price,Unit,Quantity,[Note])
VALUES("Kroger","Cheesy Poof","Cartman",0.51,"fart",15,"what the ____");

这里有用的保留字列表:http://support.microsoft.com/kb/286335

有些人认为最佳做法是始终在方括号中包含字段名称,这样您就不用担心了。

祝你好运!

答案 1 :(得分:4)

注意是reserved word,因此请尝试重命名该列。