我在表A中插入一个值,该值具有串行类型作为主键。我想使用查询的返回值作为表B的外键...但我收到此消息:
错误:表“tb_midia_pessoa”上的插入或更新违反外键约束“tb_midia_pessoa_id_pessoa_fkey”DETAIL:表“tb_pessoa”中不存在键(id_pessoa)=(30)。 )
如果没有: - 开始新的交易 - 删除我的外键约束= O. ?
问候! 佩德罗
答案 0 :(得分:10)
你可以制作一个可推迟的FK,只需使用DEFERRABLE并且可能是最初的,这取决于你。
http://www.postgresql.org/docs/current/static/sql-createtable.html
答案 1 :(得分:4)
下面的语句允许延迟不可延迟的约束,直到提交事务为止。如果您不想更改FK定义。
SET CONSTRAINTS ALL DEFERRED;