我在表A中插入一个值,它的主键是序列类型。我想使用查询的返回值作为表B的外键......但是我收到了以下消息:
- 错误:在表“tb_midia_pessoa”上插入或更新违反了外键约束“tb_midia_pessoa_id_pessoa_fkey”详细信息:键(id_pessoa)=(30)在表“tb_pessoa”中不存在。)*
我如何才能做到这一点,而不:
- 启动新事务
- 删除外键约束=O?
问候佩德罗
我在表A中插入一个值,它的主键是序列类型。我想使用查询的返回值作为表B的外键......但是我收到了以下消息:
我如何才能做到这一点,而不:
问候佩德罗
2条答案
按热度按时间gg0vcinb1#
您可以创建一个可延迟FK,只需使用DEFERRABLE,也可以使用INITIALLY DEFERRED,这取决于您。
http://www.postgresql.org/docs/current/static/sql-createtable.html
ruarlubt2#
下面的语句允许不可延迟的约束被延迟到事务提交。如果你不想改变FK定义。