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。