我想实现更新数据:我有产品和数量......如果产品已经在数据库中,我需要使用旧数量加上新数量的数量 示例:我已经有3个苹果,我想再插入2个苹果。结果应为productname = apple和quantity = 5。抱歉我的英语不好,希望很清楚我的问题。
INSERT INTO table1 (productname, quantity) VALUES (’apple’, ‘2’)
ON DUPLICATE KEY UPDATE ptoductname; // <-- not sure
请帮忙!
答案 0 :(得分:7)
假设quantity
是数字数据类型而productname
是PRIMARY KEY
或者UNIQUE KEY
约束会被违反,请使用ON DUPLICATE KEY UPDATE quantity = quantity + 2
:< / p>
INSERT INTO table1 (productname, quantity) VALUES ('apple', 2)
ON DUPLICATE KEY UPDATE quantity = quantity + 2
如果没有强制执行唯一性的约束,ON DUPLICATE KEY
子句将不会产生任何影响,您将最终得到两行。
注意:我已使用正确的单引号‘
替换了撇号'
。