您必须具有 References 特权来创建引用约束。
当您使用 REFERENCES 子句时,您必须注意下列限制:
- 被引用表和引用表必须在同一数据库中。
- 被引用列(当你使用多列约束格式时列的集合)必须具有唯一或主键约束
- 引用列和被引用列的数据类型必须相同。
唯一的例外是如果被参考列是 serial 数据类型,则参考列必须为整数数据类型:
- 对于 BIGSERIAL 被引用的列,使用 BIGINT 引用列。
- 对于 SERIAL 被引用的列,使用 INT 引用列。
- 对于 SERIAL8 被引用列,使用 INT8 引用列。
- 不能在 RAW B表的任何列上放置约束。
- 不能在 BYTE 、TEXT 、BLOB 或 CLOB 列上放置引用约束。
- 如果使用单列约束格式,您只能引用一列。
- 如果使用多列约束格式,则 REFERENCES 子句中列的最大数目是 16 ,并且如果页大小为 2 千字节时,这些列的总长度不能超过 390
字节。(最大长度随着页大小增加而增加。)