我正在尝试添加甚至删除一个值,并使用新值更新表。假设我有一个经纪人,他得了5分。我不想添加新的一行或改写现有的一个新的值,再说5分。我希望它是5-5个点的5+5点。然后更新列中的值。
到目前为止我发现
("Insert Into Bee_Sheet(Agents_Name, Points, Date_added)Values(" + AN + "','" + PNumber + "','" + DateTime.Now + "') ON DUPLICATE KEY UPDATE Points=VALUES(Points)-VALUES(PNumber)
但是我在我的AN上出错了,这是我们在AD中有的代理的名字。告诉我在他们的名字附近有一个语法错误,我们使用first.last命名方案。这应该不会影响结果。
所以我的问题是,重写SQL命令的最佳方式是什么,以便能够在值中添加或删除一定数量的值,然后对其进行更新?
如果您需要更多信息,请让我知道。
发布于 2017-07-17 21:11:03
对于您的语法错误:您的查询在" an“值之前缺少一个左单引号。
对于您关于更新值的实际问题,看起来您是在正确的轨道上。当然,假设您的Bee_Sheet表中确实有一个unique index
或primary key
。如果您没有唯一的索引或pkey,那么您的查询将只执行插入操作。
我唯一的建议是,你的更新应该将PNumber加到点上,而不是减去它。
Insert Into Bee_Sheet
(Agents_Name, Points, Date_added)
Values
('" + AN + "','" + PNumber + "','" + DateTime.Now + "')
ON DUPLICATE KEY
UPDATE
Points=VALUES(Points)+VALUES(PNumber)
https://stackoverflow.com/questions/45152602
复制相似问题