使用单列约束格式将一个或多个约束与单列关联。
如果表包含数据,则您不能在新列上指定主键或唯一约束。然而在唯一约束的情况下,表可以包含单行的数据。如果希望添加带有主键约束的列,则发出 ALTER TABLE 语句时表必须为空。
不能在 BYTE 或 TEXT 列上放置唯一约束,也不能在这些数据类型的列上放置引用约束。 BYTE 或 TEXT 列上的检查约束可只能用于检查 IS NULL 、IS NOT NULL 或 LENGTH。
如果在同一列上指定 NOT NULL 约束和 NULL 约束,则该语句失败。不能在数据类型是 LIST 、MULTISET 、SET 或 IDSSECURITYLABEL 的列上定义 NULL 约束。
IDSSECURITYLABEL 列具有隐式 NOT NULL 约束,但是它不能具有显式单列约束也不能是多列引用约束或检查约束的一部分。如果约束在存储加密数据的列上,那么 GBase 8s 不能强制执行此约束。
不能使用单列约束格式在 ENABLED NOVALIDATE 或 FILTERING WITH ERROR NOVALIDATE 或 FILTERING WITHOUT ERROR NOVALIDATE 约束模式中添加外键约束的新列。对于 ALTER TABLE 语句在 ALTER TABLE 操作期间使用 NOVALIDATE 关键字绕过违规检查来创建新的外键约束,必须使用具有多列约束格式的 ALTER TABLE ADD CONSTRAINT 语法。