Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/73.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_Sql - Fatal编程技术网

Mysql 删除与自身问题相关的无效记录

Mysql 删除与自身问题相关的无效记录,mysql,sql,Mysql,Sql,我有意见表。像这样的结构 id parent_id user_id comment -- --------- ------- ------- 我想删除相关值不正确的记录。 对于用户id为无效值的删除记录,我使用此查询 DELETE FROM `comments` WHERE `user_id` NOT IN (SELECT `id` FROM `users`) DELETE FROM `comments` WHERE `parent_id` NOT IN (SELECT `i

我有意见表。像这样的结构

id  parent_id  user_id  comment  
--  ---------  -------  -------
我想删除相关值不正确的记录。 对于用户id为无效值的删除记录,我使用此查询

DELETE FROM `comments` WHERE `user_id` NOT IN (SELECT `id` FROM `users`)
DELETE FROM `comments` WHERE `parent_id` NOT IN (SELECT `id` FROM `comments`)
但当我试图删除父项id为无效数据的记录时,我使用此查询

DELETE FROM `comments` WHERE `user_id` NOT IN (SELECT `id` FROM `users`)
DELETE FROM `comments` WHERE `parent_id` NOT IN (SELECT `id` FROM `comments`)
我得到这个错误

错误代码:1093无法指定更新的目标表“注释” in-FROM从句


您可能可以使用级联外键约束执行您想要的操作

也就是说,您可以使用左连接完成此操作:


注意,条件c.parent_id不为空。您对该列进行的几乎所有比较都暗示了这一点,包括NOT IN。

这可能有重复项,但建议的重复项不适用于NOT IN。