繁体   English   中英

PostgreSQL:交易和外键问题

[英]PostgreSQL : Transaction and foreign key problem

我在表A中插入一个值,它有一个串行类型作为主键。 我想使用查询的返回值作为表B的外键...但我收到此消息:

错误:在表“tb_midia_pessoa”上插入或更新违反外键约束“tb_midia_pessoa_id_pessoa_fkey”DETAIL:键(id_pessoa)=(30)不存在于表“tb_pessoa”中。

如果没有: - 启动一个新的事务 - 删除我的外键约束= O?

问候! 佩德罗

您可以制作一个可推迟的FK,只需使用DEFERRABLE并且可能是最初的,这取决于您。

http://www.postgresql.org/docs/current/static/sql-createtable.html

下面的语句允许延迟非延迟约束,直到事务提交。 如果您不想更改FK定义。

SET CONSTRAINTS ALL DEFERRED;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM