gpt4 book ai didi

如果没有外部约束,MySQL删除行

转载 作者:行者123 更新时间:2023-11-29 04:45:17 25 4
gpt4 key购买 nike

我有两张 table 。一个叫做 peoples,另一个叫做 addressespeoples 表对 address 表有外部约束 (peoples.address_id = addresses.address_id) 多个人可能有相同的地址。 addresses 表中的 address 列有唯一约束

我遇到过这样一种情况,我必须从 peoples 表中删除一个人以及 addresses 表上的相关地址当且仅当没有peoples 表中具有相同地址的其他记录。

我怎样才能在 MySQL 中执行此操作?

最佳答案

这应该比执行子查询更高效:

DELETE
addresses
FROM
addresses
LEFT JOIN peoples
ON addresses.address_id = peoples.address_id
WHERE
peoples.address_id IS NULL

它应该删除所有未在 peoples 中引用的地址 table 。如果您只想删除有问题的特定地址,请在 WHERE 中添加一些内容类似 AND addresses.address_id = '<address_id>' 的子句.

Example

关于如果没有外部约束,MySQL删除行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19944150/

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