当您在一列或一组列上放置主键或唯一约束时,那些列必须包含唯一值。数据库服务器检查是否存 在现有约束和索引:
? 如果该列或该组列上已经存在用户创建的唯一索引,则约束将共享该索引。
? 如果该列或该组列上已经存在用户创建的允许重复的索引,则数据库服务器返回错误。
? 在这种情况下,您必须在添加主键或唯一约束之前删除现有索引。
? 如果在该列或该组列上已经存在引用约束,则重复索引将升级到唯一索引(如果可能)并 且共享该索引。
? 如果该列或该组列上不存在引用约束或用户创建的索引,则数据库服务器在指定列上创建 内部 B-tree 索引。?
如果您在一列或一组列上放置引用约束,而该列或该组列上已经存在索引,则将共享该索引。?
如果您拥有该表,或拥有对该表的 Alter 权限,则可以在该表上创建检查、主键或唯一约束并指定 您自己作为该约束的所有者。要添加引用约束,您必须对被引用的列或被引用的表拥有 References 权限。当您拥有 DBA 权限时,可以为其他用户创建约束。