引用约束的限制
您必须具有 References 特权来创建引用约束。
当您使用 REFERENCES 子句时,您必须注意下列限制:
• 被引用表和引用表必须在同一数据库中。
• 被引用列(当你使用多列约束格式时列的集合)必须具有唯一或主键约束
• 引用列和被引用列的数据类型必须相同。
唯一的例外是如果被参考列是 serial 数据类型,则参考列必须为整数数据类型:
o 对于 BIGSERIAL 被引用的列,使用 BIGINT 引用列。
o 对于 SERIAL 被引用的列,使用 INT 引用列。
o 对于 SERIAL8 被引用列,使用 INT8 引用列。
• 不能在 RAW B 表的任何列上放置约束。
• 不能在 BYTE 、TEXT 、BLOB 或 CLOB 列上放置引用约束。
• 如果使用单列约束格式,您只能引用一列。
• 如果使用多列约束格式,则 REFERENCES 子句中列的最大数目是 16 ,并且如果页大小 为 2 千字节时,这些列的总长度不能超过 390 字节。(最大长度随着页大小增加而增 加。)
被引用列的缺省值
如果被引用表与引用表不同,则您不需要知道被引用列;缺省列为被引用表的主键列(或列组)。
如果被引用表与引用表一样,则必须指定被引用列。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




