Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.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 如果其他表中缺少相关数据,是否从表中删除项?_Mysql - Fatal编程技术网

Mysql 如果其他表中缺少相关数据,是否从表中删除项?

Mysql 如果其他表中缺少相关数据,是否从表中删除项?,mysql,Mysql,从多个表中添加现在很容易 但是,我正在寻找一种方法,可以根据在其他表中找不到行的情况,有选择地从表中删除行 如果说。。表_重要信息 (ID、重要价值、其他、东西、无人关心、关心) 我想删除所有重要值未出现在 列中的表格可能很重要 在 列中的表是非常重要的 到目前为止,我一直在使用连接来查找发生连接的实例,并将这些实例插入到临时表中,删除原始表,重新制作,然后将临时表复制到临时表中,并将其删除。 这很慢,当然不是最好的方法。听起来好像有几个操作符存在: DELETE FROM tabl

从多个表中添加现在很容易

但是,我正在寻找一种方法,可以根据在其他表中找不到行的情况,有选择地从表中删除行

如果说。。表_重要信息
(ID、重要价值、其他、东西、无人关心、关心)


我想删除所有重要值未出现在
列中的表格可能很重要

列中的表是非常重要的


到目前为止,我一直在使用连接来查找发生连接的实例,并将这些实例插入到临时表中,删除原始表,重新制作,然后将临时表复制到临时表中,并将其删除。


这很慢,当然不是最好的方法。

听起来好像有几个
操作符存在:

DELETE 
FROM   table_important i
WHERE  NOT EXISTS (SELECT *
                   FROM   table_remembering r
                   WHERE  i.important_value = r.could_be_important) AND 
       NOT EXISTS (SELECT *
                   FROM   table_forgetting f
                   WHERE  i.important_value = f.was_that_important)

由于OP未披露实际结构,因此仅给出一般提示:

DELETE FROM a WHERE 
    NOT EXISTS (SELECT b.key FROM b where b.key = a.key) 
    AND NOT EXISTS (SELECT c.key FROM c where c.key = a.key)