在MySQL中插入或复制表

时间:2012-08-28 12:24:47

标签: php mysql database

我想实现更新数据:我有产品和数量......如果产品已经在数据库中,我需要使用旧数量加上新数量的数量 示例:我已经有3个苹果,我想再插入2个苹果。结果应为productname = apple和quantity = 5。抱歉我的英语不好,希望很清楚我的问题。

INSERT INTO table1 (productname, quantity) VALUES (’apple’, ‘2’)
ON DUPLICATE KEY UPDATE ptoductname; // <-- not sure

请帮忙!

1 个答案:

答案 0 :(得分:7)

假设quantity是数字数据类型而productnamePRIMARY 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子句将不会产生任何影响,您将最终得到两行。

注意:我已使用正确的单引号替换了撇号'