Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 返回在另一个表中找不到cat_id的表中的所有行_Mysql_Sql_Database - Fatal编程技术网

Mysql 返回在另一个表中找不到cat_id的表中的所有行

Mysql 返回在另一个表中找不到cat_id的表中的所有行,mysql,sql,database,Mysql,Sql,Database,我有一个数据库,article.cat_id链接到category.id 我从类别中删除了几行,现在我想从文章中选择或删除链接到类别中不存在的id的所有行。不幸的是,我不知道哪些ID被删除了 有没有SQL方法可以检查返回文章中没有category.id等于article.cat_id的所有行?例如 SELECT * FROM Table_1 where Table_1.ID not in (SELECT Table_2.ID FROM Table_2) 内部select it将选择表2中的所有

我有一个数据库,article.cat_id链接到category.id

我从类别中删除了几行,现在我想从文章中选择或删除链接到类别中不存在的id的所有行。不幸的是,我不知道哪些ID被删除了

有没有SQL方法可以检查返回文章中没有category.id等于article.cat_id的所有行?

例如

SELECT * FROM Table_1 where Table_1.ID not in (SELECT Table_2.ID FROM Table_2)
内部select it将选择表2中的所有ID,而外部select it将以表2中不存在ID的返回行为基础

DELETE a.*
FROM article a
LEFT JOIN category c
ON a.cat_id = c.id
WHERE c.id IS NULL

将DELETE更改为SELECT first以确保它是您想要的。

这应该是DELETE a,而不是DELETE a.*-:实际上,也允许使用*。文件上写着tbl_名称[.*][,tbl_名称[.*]]……如果你对这个答案加上一些解释,我愿意接受@CamilStaps:完成图片:只有在表的ID列中没有空值时,此选项才能正常工作_2@a_horse_with_no_name啊,这是一个好消息,谢谢。在本例中,它是一个带有主键的int&自动递增,因此不会有空值,但对于未来的用户来说,这是一个很好的提示!
delete a
from article a
left outer join category c on c.id = a.cat_id
where c.id is null