C#(ON DUPLICATE KEY UPDATE)错误

时间:2015-03-01 04:30:21

标签: c# sql-server

这是我的SQL专栏: ItemID,ItemName,Unit,Quantity,UnitCost,Total,Status

ItemID是我的条形码编号和主键。数量是一个整数,其标识增量值为1.

如果两次调用相同的sql查询,则不允许复制主键。

我想要的是什么:如果查询被调用了两次,那么将Quantity值增加1,并将UnitCost值加倍,放在Total部分中。

我的想法是,如果它是重复的密钥,那么只需更新它。

ON DUPLICATE KEY UPDATE SET 

但是我在整个地方都遇到了错误。

string sql = @"INSERT INTO Grocery (ItemID, ItemName, Unit, UnitCost, Total, Status) VALUES ('2414', '2414', 'EACH', '1.5', '1.5', 'LP') ON DUPLICATE KEY UPDATE ItemName='changed'"; 
connection.Open();
        SqlCeCommand commandInsert = new SqlCeCommand(sql, connection);
                    commandInsert.ExecuteNonQuery();

1 个答案:

答案 0 :(得分:1)

无法通过插入来更新表中的值。

你必须,

  

首先设置Quantity是正常integer

     

然后检查表中已存在的给定项目。

     
      
  • 如果存在,请更新QuantityTotal

  •   
  • 否则将该项目插入表格

  •   

希望这有帮助。