SQL INSERT INTO - 这里有什么问题?

时间:2011-07-11 05:19:54

标签: sql insert

INSERT INTO `assets` (SKU, Quantity, Description, Value, Location, Owner, Notes, Index)
VALUES ('OUOUOuouOUO', 'OU', 'OUO', 'IU', 'OI', 'OI', 'HJO', '')

在这个SQL查询中我哪里出错了?一切似乎都井然有序!如果选择引号是一些事情,即' vs. ` vs. "你可以解释它们之间的用法和选择吗?

3 个答案:

答案 0 :(得分:4)

SO的语法突出显示了此查询中的问题提示。你需要在引号中写出Index这个词 - 它是一个保留字,并且在这个上下文中使用它而不引用我猜你的SQL服务器变得混乱。

INSERT INTO `assets`
    (SKU, Quantity, Description, Value, Location, Owner, Notes, `Index`) 
    VALUES ('OUOUOuouOUO', 'OU', 'OUO', 'IU', 'OI', 'OI', 'HJO', '')

了解更多信息:

答案 1 :(得分:0)

顾名思义,Index是主键/自动增量值吗?

如果是,那么你每次进行插入时都将它作为一个值分配 - 显然你不能这样做,因为没有两个主键值可以相同。

解决方案:

  • 为索引列指定auto_increment属性;
  • 执行插入时不要指定Index的值。

答案 2 :(得分:0)

表的名称也写在`这是错的。请写下它,不带任何引号。

INSERT INTO assets (SKU, Quantity, Description, Value, Location, Owner, Notes, Index)
            VALUES ('OUOUOuouOUO', 'OU', 'OUO', 'IU', 'OI', 'OI', 'HJO', '')