在MySQL中插入或复制表

Ser*_*tas 2 php mysql database

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

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

请帮忙!

Mic*_*ski 7

假设quantity是一个数字数据类型,并且productnamePRIMARY KEY或者有一个UNIQUE KEY违反的约束,请使用ON DUPLICATE KEY UPDATE quantity = quantity + 2:

INSERT INTO table1 (productname, quantity) VALUES ('apple', 2)
  ON DUPLICATE KEY UPDATE quantity = quantity + 2
Run Code Online (Sandbox Code Playgroud)

如果没有强制执行唯一性的约束,该ON DUPLICATE KEY子句将不会产生任何影响,您将最终得到两行.

注意:我已用适当的单引号替换了撇号'.