Sql 删除多表中不存在的记录';不存在于表中
我有三张桌子Sql 删除多表中不存在的记录';不存在于表中,sql,command,Sql,Command,我有三张桌子 mainT具有主键main\u id sub1T有外键指向main\u id sub2T有外键指向main\u id 我需要在一个SQL命令中删除sub1T和sub2T中的所有记录 我知道如何使用以下命令删除sub1T内的所有记录: DELETE FROM `sub1T` WHERE NOT EXISTS (SELECT NULL FROM mainT WHERE `mainT`.main_id =
具有主键mainT
main\u id
有外键指向sub1T
main\u id
有外键指向sub2T
main\u id
sub1T
和sub2T
中的所有记录
我知道如何使用以下命令删除sub1T内的所有记录:
DELETE FROM `sub1T`
WHERE NOT EXISTS (SELECT NULL
FROM mainT
WHERE `mainT`.main_id = main_id)
我需要从多个子表中删除我认为您不能在一个命令中从多个表中删除。您需要为此编写PL/SQL。大多数RDBMS支持delete cascade上的
,
,当父表被删除时,它将从子表中删除数据。对于当前的需求,您应该使用2
delete
语句,然后尝试在当前表结构的delete cascade上实现