使用 UNIQUE 或 DISTINCT 关键字以要求某列或一组列的集合只接收唯一数据值。如果列有唯一约束,则将不能把与其它行重复的值插入到该列中。当您创建了 UNIQUE 或 DISTINCT 约束时,数据库服务器将自动在被约束的列上创建内部索引。(在此上下文中,关键字 DISTINCT 是 UNIQUE 的同义词)。
不能在已经有主键约束的列上放置唯一约束。不能在 BYTE 或 TEXT 列上放置唯一约束。
如先前所述,不能在 GBase 8s 的 BLOB 或 CLOB 列上放置唯一约束或主键约束。
只有当辅助存取方法唯一支持不透明数据类型时,这种数据类型才支持唯一约束。缺省的辅助存取方法是一种 B-tree ,它支持 equal( ) 操作符函数。因此,如果不透明类型的定义包含 equal( ) 函数,则该不透明类型的列可以有唯一约束。
CREATE TABLE accounts (acc_name CHAR(12), acc_num SERIAL UNIQUE CONSTRAINT acc_num);
有关约束名称的说明,请参阅声明约束名称 。