gpt4 book ai didi

mysql - 如何删除MySQL中两个不同表中的重复字段

转载 作者:行者123 更新时间:2023-11-29 08:36:13 27 4
gpt4 key购买 nike

假设您有两张 table 。

表格栏:

+-------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+--------------+------+-----+---------+-------+
| name | varchar(255) | YES | | NULL | |
+-------+--------------+------+-----+---------+-------+

表foo:

+------------------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------------+--------------+------+-----+---------+-------+
| name_alternative | varchar(255) | YES | | NULL | |
+------------------+--------------+------+-----+---------+-------+

并且您想要从表 bar 中删除与表 foo 中的字段 name_alternative 具有相同 name 值的行

我可以使用以下查询:

DELETE FROM foo WHERE name IN (SELECT name_alternative FROM bar);

但是这需要很长时间才能执行,两个表中都有大量记录。

所以我想知道这个查询是否有更好的替代方案。

最佳答案

这是另一种可行的方法,我认为它会更有效:

DELETE FROM bar
USING foo, bar
WHERE name_alternative = name

这是一个working SQLFiddle example .

See the documentation for delete .

关于mysql - 如何删除MySQL中两个不同表中的重复字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15134195/

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