Postgresql 在什么情况下会发生错误23001(限制违反)?
从名称来看,我认为“ON DELETE RESTRICT”会触发它,但这会触发一个错误23503(FK违规):Postgresql 在什么情况下会发生错误23001(限制违反)?,postgresql,Postgresql,从名称来看,我认为“ON DELETE RESTRICT”会触发它,但这会触发一个错误23503(FK违规): 创建表a(id序列主键); 插入到默认值中; 创建表b(id序列主键,a_id整数引用a(id)不为空); 插入b(a_id)值(1); 从id=1的位置删除; 错误:23503:表“a”上的更新或删除违反了表“b”上的外键约束“b_a_id_fkey” 详细信息:键(id)=(1)仍从表“b”中引用。 架构名称:public 表名:b 约束名称:b_a_id_fkey 地点:ri_报
创建表a(id序列主键);
插入到默认值中;
创建表b(id序列主键,a_id整数引用a(id)不为空);
插入b(a_id)值(1);
从id=1的位置删除;
错误:23503:表“a”上的更新或删除违反了表“b”上的外键约束“b_a_id_fkey”
详细信息:键(id)=(1)仍从表“b”中引用。
架构名称:public
表名:b
约束名称:b_a_id_fkey
地点:ri_报告违规,ri_触发器。c:2797
在IRC上询问并检查了代码后,它看起来很像23001,目前在标准postgresql中没有出现,尽管它可以由存储过程等生成