Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.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 其他表中存在的引用数-PostgreSQL_Mysql_Postgresql_Psql - Fatal编程技术网

Mysql 其他表中存在的引用数-PostgreSQL

Mysql 其他表中存在的引用数-PostgreSQL,mysql,postgresql,psql,Mysql,Postgresql,Psql,我有100多张桌子。用户表就是其中之一。与多个表相关的用户。如果我要删除一个用户,我需要检查其他表中是否存在任何用户表引用。所以我需要得到其他表中存在的外部关系数。用户附加值将存储在另一个表中。所以引用的数量大于1,那么我不应该删除 我在PostgreSQL工作。我认为这在mysql中是可能的。我不知道Postgresql,因为我对Postgresql是新手 提前谢谢 定义外键时,如果任何其他表仍保留一个键,可以给它一个限制删除的选项。下面是来自 定义外键时,如果任何其他表仍保留一个键,可以给它

我有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将阻止删除该行。