如何在mysql中的单个Query中编写Insert和Update查询

时间:2017-04-27 06:09:03

标签: php mysql

我有下面提到的问题。

我正在使用php开发库存系统。

根据我必须将发票项添加到表中。

动态生成的文本框,用于收集收到的项目详细信息。

我有current_stock表,它包含Item-name和qty列。

项目名称是主键字段。

如果已经存在,我将要插入的项目应该用新值更新。

如果不存在则应插入新行。

这必须在循环中完成,因为我使用动态genarated文本框和使用$ item []和$ qty []数组收集数据。

我尝试使用多种方法来解决此问题无法在for循环中执行但尚未成功。

请帮帮我.........

2 个答案:

答案 0 :(得分:1)

你可以试试这个:

INSERT INTO table (id, item_name, qty) VALUES(1, "A", 19) ON DUPLICATE KEY UPDATE    
item_name="A"

如果指定ON DUPLICATE KEY UPDATE,并且插入的行会导致UNIQUE索引或PRIMARY KEY中出现重复值,则MySQL会执行旧行的UPDATE。

答案 1 :(得分:0)

对于多个查询执行,您必须使用

mysqli_multi_query()
像这样:

mysqli_multi_query("INSERT INTO TABLE SET Field='Value',FieldB='ValueB';
UPDATE TABLE SET Field='Value',FieldB='ValueB' WHERE FIELDID='VALUEID';")

我希望这会有用。很有趣。