Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.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
Php 如何从表B中选择属于表A的缺失表行?_Php_Mysql - Fatal编程技术网

Php 如何从表B中选择属于表A的缺失表行?

Php 如何从表B中选择属于表A的缺失表行?,php,mysql,Php,Mysql,表1有id为3“缺失”的行。但是如果你注意到了,有一个表2中缺少的id。因此,我的问题是如何选择表2中所有引用了表1\u id的行,这些行在表1中不再可用 我不太擅长mysql查询,并尝试了一些类似。。。 从b.table1\u id!上的表2 b内部联接表1 a中选择b.*a、 id和其他一些,但无法获得所需的结果 你能谈谈如何实现这一目标吗? 谢谢 只是一些小的变化,从内部到外部,条件是a.id为null(在表a中找不到匹配项) 对于删除,使用 SELECT b.* FROM table2

表1有id为3“缺失”的行。但是如果你注意到了,有一个表2中缺少的id。因此,我的问题是如何选择表2中所有引用了表1\u id的行,这些行在表1中不再可用

我不太擅长mysql查询,并尝试了一些类似。。。 从b.table1\u id!上的表2 b内部联接表1 a中选择b.*a、 id和其他一些,但无法获得所需的结果

你能谈谈如何实现这一目标吗? 谢谢

只是一些小的变化,从内部到外部,条件是a.id为null(在表a中找不到匹配项)

对于删除,使用

SELECT b.*
FROM table2 b
LEFT JOIN table1 a ON b.table1_id = a.id
WHERE a.id is null
只是一些小的变化,从内部到外部,条件是a.id为null(在表a中找不到匹配项)

对于删除,使用

SELECT b.*
FROM table2 b
LEFT JOIN table1 a ON b.table1_id = a.id
WHERE a.id is null

@cyberwiki不能被
左连接和WHERE
替换为右连接???@diEcho WHERE需要删除匹配的内容。右侧和左侧仅取决于表的放置位置。@Cyberwiki-是否可以使用相同的查询执行删除操作?我尝试了。。从表2中删除b在b.table1_id=a.id上左连接表1 a,其中a.id为null,但我在phpmyadmin中得到一个myql错误??我做错了什么?@cyberwiki不能被
左连接和WHERE
替换为右连接???@diEcho WHERE需要删除匹配的内容。右侧和左侧仅取决于表的放置位置。@Cyberwiki-是否可以使用相同的查询执行删除操作?我尝试了。。从表2中删除b在b.table1_id=a.id上左连接表1 a,其中a.id为null,但我在phpmyadmin中得到一个myql错误??我做错了什么?
DELETE FROM table2
WHERE table1_id not in (select id from table1)