mysql - 删除 Select Inner Join 查询结果
问题描述
SELECT yturl from ytpointadder a
JOIN watched b on b.watchedyt = a.yturl AND b.ip = a.ip
Group by a.ip;
我想删除 exp 的查询结果,这个查询结果是:
yturl | ip | ID |
---|---|---|
eY5WRONXDI | 197.XX.XX.XXX | 1 |
虽然我想从 ytpointadder 中删除它。我试过 :
DELETE from ytpointadder a
JOIN watched b on b.watchedyt = a.yturl AND b.ip = a.ip
Group by a.ip;
解决方案
您不能在 FROM 子句中为更新(删除)指定相同的目标表。所以你必须使用另一个外部查询。
尝试:
DELETE FROM ytpointadder
WHERE yturl IN ( SELECT t.yturl FROM (SELECT a.yturl, a.ip from ytpointadder a
JOIN watched b on b.watchedyt = a.yturl AND b.ip = a.ip
Group by a.ip
) as t
) ;
推荐阅读
- python - 将数据推送到 MongoDB 中的嵌套对象中
- java - 如何将 Vector 中的数据作为参数传递?
- javascript - 更新 HTML 数据而不在网页上创建更多元素
- php - 更改为 HTTPS 后,我的链接/网址无法正常工作
- c++ - 数据成员从派生到基本c ++的反向继承
- c# - 有没有办法在代码中克隆一个或多个实体(记录)
- node.js - Firebase 推送通知错误 - 找不到实体
- php - Laravel 7:上传 img 和 bio 描述时导致错误的用户配置文件
- c++ - 将字符串分成字母和数字
- javascript - 在 react-native-web 图像中设置背景位置