2,创建主键、唯一约束和唯一索引主键唯一值且不允许为null,唯一约束值唯一但允许null,唯一索引值唯一但允许null
查看表的报告,可以看到三个索引(对应主键、唯一约束和唯一索引),但需要注意的是主键、唯一约束的索引名称并不是指定的约束名称
3,测试区别
将报错误:703: Primary key on table (tab1) has a field with a null key value.不允许空值。
将报错误:268: Unique constraint (gbasedbt.pk_tab1_col1) violated.违反主键约束(pk_tab1_col1),因已经存在值 3 。
将报错误:268: Unique constraint (gbasedbt.uk_tab1_col2) violated.违反唯一约束(uk_tab1_col2),因已经存在值 null 。
将报错误:268: Unique constraint (gbasedbt.uk_tab1_col2) violated.违反唯一约束(uk_tab1_col2),因已经存在值 test003 。
将报错误:239: Could not insert new row - duplicate value in a UNIQUE INDEX column (Unique Index:ux_tab1_col3).不允许插入重复值,因已经存在值 null 。
将报错误:239: Could not insert new row - duplicate value in a UNIQUE INDEX column (Unique Index:ux_tab1_col3).不允许插入重复值,因已经存在值 test002 。
插入成功。
删除约束,对应的索引一并删除。
细心的你,会发现:
如果字段加上not null约束,再加上唯一约束或者唯一索引,功能上将等同于主键约束;唯一约束仅仅比唯一索引多了一个约束;到此这篇关于GBase 8s数据库主键约束、唯一约束和唯一索引的区别的文章就介绍到这了,更多相关GBase 8s数据库主键内容请搜索七叶笔记以前的文章或继续浏览下面的相关文章希望大家以后多多支持七叶笔记!