【发布时间】:2019-08-16 06:15:58
【问题描述】:
那么愚蠢的问题,我正在尝试执行这个非常复杂的 UPDATE 查询。从 UPDATE 语法的设置方式来看;有可能吗?在查询中有多个 SET 关键字是否明智?
这是一个表单,它包含从数据库中填充的二维信息数组。数组的每一行相当于数据库中的一条记录。提交时,查询应该更新表值。
<form>
<p>Item 1</p><input name='itemID1'><input name='ItemDescr1'><input name='itemCost1'>
<p>Item 2</p><input name='itemID2'><input name='ItemDescr2'><input name='itemCost2'>
<p>Item 3</p><input name='itemID3'><input name='ItemDescr3'><input name='itemCost3'>
<input type='submit'>
</form>
这是我尝试过的一种新型查询,我对 SQL 处理此类查询的能力感到迷茫。但这就是我想象的查询结构
即
UPDATE table SET (col1 = "value1", col2= "value2",...) WHERE idcol = "ID1",
SET (col1 = "value3", col2= "value4",...) WHERE idcol = "ID2"
我真的不知道这是否可行,或者是否应该这样做。如果有业内人士遇到过这个问题,请帮忙。
【问题讨论】:
-
是不是因为您觉得一次性运行它可以让您在更新失败时保持一致性?您是否已经研究过事务,以便您可以发送多个更新命令然后最后提交?
-
感谢您的评论,我想尝试在一个更新查询中获取它的原因,或者至少尝试设置这样的循环和查询结构,是因为在我的实际应用程序中,用户可以更好地控制表单长度以及他们想要添加的记录数。因此,为此我希望查询创建灵活。
-
但是话又说回来,事务可能是一种更有用的方法,至少您知道在将更改提交到数据库之前所有这些方法都有效
标签: mysql