mysql 如何同时Update两条数据到数据库?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql 如何同时Update两条数据到数据库?相关的知识,希望对你有一定的参考价值。

能否同时更新两条数据到数据库里?
如:$dsql->ExecuteNoneQuery("Update `#@__archives` set `arcrank`='0', `sortrank`='$time', `pubdate`='$time' where id = '$id';");

想在上面的语句中,加一条:Update `#@__taglist` set arcrank='0' ,请问如何加?
不能分两行的,因为第一行导入的数据库的ID是随机的,能否一条写下?

不能同时写下,这样的操作在任何数据库中都不支持,只能用存储过程来实现。 参考技术A $dsql->ExecuteNoneQuery("Update `#@__archives` set `arcrank`='0', `sortrank`='$time', `pubdate`='$time' where id = '$id';");
$dsql->ExecuteNoneQuery("Update `#@__taglist` set arcrank='0' ;");

这样不行吗?
参考技术B 你能不能把问题具体化,举个例子说明一下,你要在数据库上写些什么东西,要这么操作的原因是什么,看大家能不能帮你解决。

你现在的说明太过抽象了。本回答被提问者和网友采纳

mysql update 如何同时更新多行数据某字段不同的值?

可以用Update test set Name='LL2' where ID in (7,8)更新多个匹配行的Name字段为LL2。

Update test set Name in ('LL1','LL2') where ID in (7,8) 我随后想用这种方式将匹配行的Name字段赋予不同的值。

请问该如何做?
我知道了 用CASE WHEN THEN

你的意思是不是:
update test set name = case when id = 7 then 'LL1' when id = '8' else name end;
需要注意,要考虑else情况,将原name赋值回去,否则会使id不为7和8的name变为null
参考技术A 嗯。是啊。使用 case when then 但是你直接使用 Update test set Name='LL2' where ID =7 也是一样的。然后在执行一遍Update test set Name='LL2' where ID = 8 也行啊。

嗯sql最好不怎么使用 in。 这个效率有点影响。

以上是关于mysql 如何同时Update两条数据到数据库?的主要内容,如果未能解决你的问题,请参考以下文章

mysql中去除两条一摸一样的数据

mysql参照完整性 策略设置之 on update 和 on delete

mysql 在值为null的字段插入数据!

Mysql----insert/update/delete

mysql 我如何查询一批数据后,并更新这批数据

mysql如何判断符合查询条件的数据有两条