2

我想知道是否有人知道如何解决以下问题。我一直在寻找大约一周的解决方案,到目前为止,没有运气。

我们有一个网站,如果他们没有任何关联用户,我们需要删除数以万计的城市。

所以基本上,如果表“users”中不存在“city id”,我们必须删除表“cities”。假设,如果在“users.city_id”列中未找到“cities.city_id”,则我们需要从“cities”中删除任何行,这意味着没有用户与该城市相关联。

基本上需要发生的是,对于“城市”中的每一行,MySQL 需要查看 users.city_id 中的每一行以查看该值是否存在,如果存在则移动到下一行,如果不存在则删除排在城市,然后移动到下一行。

我什至不确定是否可以进行这样的查询...任何建议将不胜感激!

4

1 回答 1

4

如果无法访问您的完整架构,下面是我的尝试。在执行任何删除操作之前备份您的数据库,以防万一出现问题,我不想被起诉:(

DELETE FROM cities WHERE id NOT IN (SELECT city_id FROM USERS);
于 2012-04-23T03:10:13.433 回答