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

Bob*_*Gee 5 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");
Run Code Online (Sandbox Code Playgroud)

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

它所采用的表是:Grocery_Store_Prices

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

Mic*_*mes 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 ____");
Run Code Online (Sandbox Code Playgroud)

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

有些人认为它的最佳实践总是在方括号包住的字段名称,只是让你不必担心.

祝好运!

  • 保留字是每个数据库中的问题.问题是数据库接口如何为您处理它.在所有数据库中都不鼓励使用保留字.不过,我想,如果Access告诉你有关保留字的话,它会很好. (2认同)