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

标签 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 字段及其值,则查询工作正常。是否有什么明显的我遗漏了,或者是否有一个 Jet SQL 怪癖埋在这里???

它所作用的表是:
杂货店_价格
  • ID -- 自动编号主键
  • 店铺 -- 文字
  • 日期 -- 日期/时间
  • 项目 -- 正文
  • 品牌--文字
  • 价格 -- 货币
  • 单位 -- 正文
  • 数量 -- 数量(双)
  • 注——文本。
  • 最佳答案

    “注意”是 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

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

    祝你好运!

    关于sql - 为什么这个非常简单的 SQL 查询在 MS Access 中失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6229785/

    相关文章:

    javascript - 使用 jquery 创建评论框并在 Coldfusion 中工作

    vba - 使用 VB 导入而不是手动导入

    nhibernate - 在哪里可以找到 NHibernate Jet 驱动程序

    php - 是否可以用来自 html 表单的某些输入替换 SQL 查询的限制值?

    SQL - 如何列出值大于另一个单元格的单元格?

    具有公共(public)成员的 SQL 查找集(关系划分)

    mysql - 返回字段中具有唯一数据的记录

    vba - 以递归方式将 MS Access 表单和类/模块导出到文本文件?

    用于浏览 MDB 数据库的 .NET 工具

    用于字符串连接的 SQLite 更新语法?