gpt4 book ai didi

mysql 查询内连接条件 where id IN

转载 作者:行者123 更新时间:2023-11-29 07:24:09 25 4
gpt4 key购买 nike

您能否建议进行简单查询的最佳方法,其中我有 2 个表,我需要更新表 1 状态列,然后如果另一列为 1,则更新另一个表 2。主要问题是当我使用 where id IN ids 时如何做到这一点

UPDATE table1 SET status = 1 WHERE id IN (ids)

如果每个 Id 的 columnX 为 1,则

UPDATE table2 SET status = 1 for that id

最佳答案

不完全确定你的意思,但我猜你可以使用 UPDATE JOIN 的某些变体,基本语法如下:

UPDATE table1 t1
JOIN table2 t2
ON t2.table1_id = t1.id
SET t1.status = 1,
t2.status = CASE
WHEN t1.columnX = 1 THEN 1 /* Update if columnX is 1 */
ELSE t2.status /* Use old status if not */
END CASE
WHERE t1.id IN (...)

如果 columnX 为 1 的可能性较低,那么您可以拆分第二部分并在事务中执行单独的查询:

UPDATE table1 t1
SET t1.status = 1
WHERE t1.id IN (...)

UPDATE table2 t2
JOIN table1 t1
ON t1.id = t2.table1_id
AND t1.columnX = 1
SET t2.status = 1
WHERE t2.table1_id IN (...)

关于mysql 查询内连接条件 where id IN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35082468/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com