[英]Execute multiple mysql updates in one query
将两个mysqli查询合并为一个查询的最佳方法是什么
表SERVER_JOINS
ID DEFAULT SERVER_ID MEMBER_ID
---------------------------------------
1 0 1 57
2 0 52 57
3 0 22 57
4 1 35 57
只有一行必须将默认值设置为1。通过单击链接,我想更改默认值
mysqli_query($database->connection,"UPDATE `server_joins` SET
`default` = '0' WHERE `default` = '1' AND `member_id` = '$session->u_id'");
mysqli_query($database->connection,"UPDATE `server_joins` SET
`default` = '1' WHERE `server_id`= '$id' AND `member_id` = '$session->u_id'");
我认为您想避免这样的事情:
mysqli_query($database->connection,"UPDATE `server_joins`
SET `default` = '1'
WHERE `default`= '0' AND `server_id`= '$id' AND `member_id` = '$session->u_id'");
使用if()
函数或条件case
表达所述的set
取决于服务器字段的值子句来决定缺省值是否是要被设置为0或1。
UPDATE `server_joins`
SET `default` = if(`server_id`= $id, 1, 0)
WHERE `member_id` = $session->u_id
几个注意事项:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.