如何在mysql中的单个查询中编写插入和更新查询
我有下面提到的问题。如何在mysql中的单个查询中编写插入和更新查询
我使用php开发库存系统。
据此我必须添加发票项目表。
动态生成的文本框用于收集收到的项目详细信息。
我有current_stock表,它包含项目名称和数量列。
项目名称是主键字段。
如果已经存在数量,我将要插入的项目应该用新值更新。
如果不存在,应插入为新行。
这是必须在循环中完成的,因为我使用$ item []和$ qty []数组动态生成文本框和数据。
我尝试使用几种方法来解决此问题,无法在for循环中执行但尚未成功。
请帮我.........
多个查询excution你必须使用
mysqli_multi_query()
这样的:
mysqli_multi_query("INSERT INTO TABLE SET Field='Value',FieldB='ValueB';
UPDATE TABLE SET Field='Value',FieldB='ValueB' WHERE FIELDID='VALUEID';")
我希望这会工作。玩的开心。
它工作吗? –
是的,但你必须使用连接字符串,如 –
mysqli_multi_query($ con,“INSERT INTO TABLE SET Field ='Value',FieldB ='ValueB'; UPDATE TABLE SET Field ='Value',FieldB ='ValueB' Where FIELDID ='VALUEID';“) –
你可以试试这个:
INSERT INTO table (id, item_name, qty) VALUES(1, "A", 19) ON DUPLICATE KEY UPDATE
item_name="A"
如果指定ON DUPLICATE KEY UPDATE,行插入会导致在唯一索引或主键的重复值时,MySQL执行旧行的更新。
主要问题是无法执行ON DUPLICATE KET UPDATE,因为这是我的问题....($ i = 0; $ i
为什么你不能执行重复密钥更新,是否有任何错误 – MohanaPriyan
你的项目名称是主键字段,所以使它独特也。它会正常工作。 – Nidhi
检查此:https://www.xaprb.com/blog/2006/02/21/flexible-insert-and-update-in-mysql/ – Jenish
欢迎来到Stackoverflow。请显示您的代码,以证明您尝试了多远,并帮助其他成员更好地理解您的问题,同时提供您的问题背景。 https://stackoverflow.com/help/how-to-ask –