如何更新具有外键限制的两个表的行

时间:2015-12-20 16:55:29

标签: sql postgresql

我有两个表:一个是外国参考表,让我们说 表一个 ,另一个是数据表让我们说 表b 即可。 现在,当我需要更改 表b 中的数据时,我受到 表格 的限制。 如何在不收到此消息的情况下更改两个表中的“rid”?

  

“错误:在表上插入或更新”表a“违反外键   约束“fk_boo_kid”SQL状态:23503

细节:表(表b)中没有键(小孩)=(110)。

更新两个表的示例查询:

.war
table b 
+-----+-------+-------+
| rid | ride  | qunta |
+-----+-------+-------+
|   1 |  car  |     1 |
|   2 |  bike |     1 |
+-----+-------+-------+  

table a
+-----+-----+------------+
| kid | rid |    date    |
+-----+-----+------------+
|   1 |   1 | 20-12-2015 |
|   2 |   2 | 20-12-2015 |
+-----+-----+------------+

1 个答案:

答案 0 :(得分:0)

您无法更新/删除表B中的主键,因为主键在表A中使用。

您可以删除表B中的主键,IF>>

  1. 您必须删除表A中使用主键表B的行。
  2. 您可以删除表B中的行