删除孤立记录 - MySQL


deleting orphan record - mysql

我有以下表格

question
-------------------
id | name
quiz_results
------------------
id|question_id|is_correct

不小心我从后端删除了一些问题注意:我使用了 laravel 框架并使用模型来维护依赖项。我没有在数据库级别使用任何关系。现在我需要从quiz_results中删除孤儿记录(即我需要删除那些问题被意外删除的记录(

我在下面试过

delete from quiz_results where id IN (SELECT qr.id
FROM  `quiz_results` qr
LEFT JOIN questions q ON ( q.id = qr.question_id ) 
WHERE q.id IS NULL )

它给出以下错误

1093 - 无法在 FROM 子句中指定要更新的目标表"quiz_results">

早些时候我也尝试了没有子查询,如下所示

delete from
FROM  `quiz_results` qr
LEFT JOIN questions q ON ( q.id = qr.question_id ) 
WHERE q.id IS NULL

抛出语法错误

#1064 - 您的 SQL 语法有误;请查看与您的 MySQL 服务器版本相对应的手册,了解在第 2 行的"FROM quiz_results QR 左连接问题 q ON ( q.id = qr.question_id ( WH" 附近使用的正确语法

尝试以下查询:
从question_id不在quiz_results中删除(从问题中选择 ID(

试试这个

delete from quiz_results r 
where not exists 
    (
        select 1 
        from question q 
        where q.id=r.question_id
    )
delete from FROM `quiz_results`
-

->

delete `quiz_results` FROM  `quiz_results`