如何将两个UPDATE查询合并到一个不同的WHERE和SET中?

时间:2018-11-19 18:22:14

标签: php mysql phpmyadmin

我想知道是否有可能合并这两个查询,因为它们不能单独工作(两个工作之一)。他们是

$addquery = "UPDATE winners SET mem_name='$addname' WHERE mem_name='$deletename'";
$addresult= mysqli_query($connect, $addquery);
$query = "UPDATE winners INNER JOIN members SET winners.mem_id = members.mem_id
                    WHERE winners.mem_name = members.mem_name";
$result = mysqli_query($connect, $query);

能否仅通过一个查询来完成?谢谢!!!

1 个答案:

答案 0 :(得分:0)

我并不是说您应该这样做,但是从您提供的代码流来看,这是您可以可以做到的方式。

openssl aes-256-cbc -d -in keystore.jks.encrypted -k $ENCRYPT_SECRET_KEY >> keystore.jks

请注意,ORDER BY在技术上是可选的;您的问题没有说明mem_name是否在UPDATE winners w SET w.mem_name = '$addname' , w.mem_id = IFNULL(SELECT m.mem_id FROM members AS m WHERE m.mem_name = '$addname' ORDER BY m.mem_id DESC LIMIT 1 , w.mem_id ) WHERE w.mem_name = '$deletename' ; 中得到保证。如果是唯一的,则不需要排序依据。如果不是,则至少为检索到的期望值增加一些一致性。

如果您可以控制数据库设计,建议将membersmem_name中完全删除。如果您一开始主要是通过winners管理关系,那么将是/将是冗余数据。