gpt4 book ai didi

mysql - 删除所有不在 UPDATE 中的行

转载 作者:行者123 更新时间:2023-11-29 06:23:46 27 4
gpt4 key购买 nike

我有一个表,我想用另一个表更新,所以我有类似的东西:

UPDATE table1 JOIN table2 ON table1.id = table2.fk_table1 SET table1.field1 = table2.field1

但我还想从这个表中删除所有不在这个更新中的行,因为有类似的东西:

DELETE FROM table1 WHERE id not IN (UPDATE ...)

他们是一种在一个优化 sql 请求中执行此操作的方法,还是我必须在两个请求中执行此操作?

谢谢

最佳答案

您必须在两个请求中执行此操作,因为它们是两个不同的操作 DML 操作:

首先触发你的更新语句:

UPDATE table1 JOIN table2 ON table1.id = table2.fk_table1 SET table1.field1 = table2.field1

然后通过在选择中转换更新来触发您的删除请求:

DELETE FROM table1 WHERE id not IN (Select...)

注意:在更新命令中使用具有相同条件的选择来获取在第一条语句中更新的记录列表。

关于mysql - 删除所有不在 UPDATE 中的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32135972/

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