UNIQUE CHECK IGNORE是PolarDB 8.0.2.2.0及以上版本特有的分区表类型。本文档介绍了创建UNIQUE CHECK IGNORE分区表的方法。
语法
UNIQUE CHECK IGNORE是PolarDB新增的表的
其中,table_options
的一个属性。创建表时指定UNIQUE CHECK IGNORE=1
表示该表忽略分区键的唯一性检查,不再考虑分区键与主键和唯一键的关系,可以选择任意列做分区键。语法如下:CREATE TABLE [ schema. ]table_name
table_definition table_options
PARTITION BY ...
SUBPARTITION BY ...
table_options
中增加了一个选项UNIQUE CHECK IGNORE = { 1| 0 }
。UNIQUE CHECK IGNORE=1
表示主键和唯一键不需要必须包含分区键的所有列,使得分区键的选择更加灵活。但是无法保证数据主键和唯一键在分区间的唯一性,也就是主键和唯一键的唯一性仅在分区内部有效,在分区间不做限制。
说明 表属性UNIQUE CHECK IGNORE只能用于分区表,普通的非分区表添加此属性会报错;UNIQUE CHECK IGNORE为只读属性,您不能修改UNIQUE
CHECK IGNORE属性的值。
参数
参数名称 | 参数说明 |
---|---|
table_name | 要创建的表名称。 |
示例
CREATE TABLE t1(
a INT PRIMARY KEY,
b INT UNIQUE,
c INT
) UNIQUE CHECK IGNORE=1
PARTITION BY RANGE(c) (
PARTITION p0 VALUES LESS THAN (20) ,
PARTITION p1 VALUES LESS THAN (40) ,
PARTITION p2 VALUES LESS THAN (60)
);