【发布时间】:2015-03-19 21:17:40
【问题描述】:
假设我有以下数据:
表some_table:
some_table_id | value | other_table_id
--------------------------------------
1 | foo | 1
2 | bar | 2
表other_table:
other_table_id | value
----------------------
1 | foo
2 | bar
这里,some_table 有一个外键到列 other_table_id 从 other_table 到某个名称的列。
在 PostgreSQL 中使用以下查询:
SELECT *
FROM some_table
WHERE other_table_id = 3;
如您所见,3 不存在于other_table 这个查询显然会返回 0 个结果。
不进行第二次查询,有没有办法知道我用作过滤器的外键是否在other_table 中不存在?
理想情况下,作为稍后可以解析的错误(例如,当使用错误的外键执行 INSERT 或 UPDATE 时会发生这种情况)。
【问题讨论】:
-
请编辑您的问题并提供示例数据和所需结果。您的问题的答案是“是”,但您没有说明您需要这些信息的方式。
-
已编辑,如果需要澄清,请告诉我
标签: sql postgresql foreign-keys