Mysql 其他表中存在的引用数-PostgreSQL
我有100多张桌子。用户表就是其中之一。与多个表相关的用户。如果我要删除一个用户,我需要检查其他表中是否存在任何用户表引用。所以我需要得到其他表中存在的外部关系数。用户附加值将存储在另一个表中。所以引用的数量大于1,那么我不应该删除 我在PostgreSQL工作。我认为这在mysql中是可能的。我不知道Postgresql,因为我对Postgresql是新手Mysql 其他表中存在的引用数-PostgreSQL,mysql,postgresql,psql,Mysql,Postgresql,Psql,我有100多张桌子。用户表就是其中之一。与多个表相关的用户。如果我要删除一个用户,我需要检查其他表中是否存在任何用户表引用。所以我需要得到其他表中存在的外部关系数。用户附加值将存储在另一个表中。所以引用的数量大于1,那么我不应该删除 我在PostgreSQL工作。我认为这在mysql中是可能的。我不知道Postgresql,因为我对Postgresql是新手 提前谢谢 定义外键时,如果任何其他表仍保留一个键,可以给它一个限制删除的选项。下面是来自 定义外键时,如果任何其他表仍保留一个键,可以给它
提前谢谢 定义外键时,如果任何其他表仍保留一个键,可以给它一个限制删除的选项。下面是来自
定义外键时,如果任何其他表仍保留一个键,可以给它一个限制删除的选项。下面是来自
将每次删除放在循环内的
开始异常
块中,并使用错误条件-限制违反
:
...
loop
begin
delete ... where id = 1;
exception
when restrict_violation then null
end;
end loop;
这样,具有外部关系的用户将不会被删除,而其他用户则不会被删除。将每次删除放在
开始异常
在循环内阻塞并使用错误条件-限制违反:
...
loop
begin
delete ... where id = 1;
exception
when restrict_violation then null
end;
end loop;
这样,具有外部关系的用户将不会被删除,而其他用户则不会被删除。如果存在引用,则不应删除该引用。因此,我只需要删除没有任何引用的记录。是的,ON delete RESTRICT将阻止删除该行。如果引用存在,则不应删除该行。因此,我只需要删除没有任何引用的记录。是的,ON delete RESTRICT将阻止删除该行。