约束砖

砖支持标准的SQL约束管理的条款。约束分为两类:

  • 执行的质量和完整性约束确保数据添加到表自动验证。

  • 信息主键和外键约束编码表字段之间的关系,不执行。

所有约束砖需要三角洲湖。

三角洲生活表也有类似的概念,即预期。看到管理数据质量与达美住表

强制约束砖

当违反条件,事务失败的错误。支持两种类型的约束:

  • :表明特定列中的值不能为空。

  • 检查:表明指定的布尔表达式必须对每个输入行。

重要的

添加一个约束表作家协议版本自动升级版本低于3如果前面的作家。看到砖三角洲湖管理功能的兼容性如何?理解表协议版本和升级协议版本意味着什么。

设置一个约束在砖

请注意

  • 有砖运行时7.4及以上。

你指定当你创建一个表约束模式。你可以删除或添加限制使用改变改变命令。

创建people10m(idINT,firstName字符串,middleName字符串,字符串,性别字符串,生日时间戳,ssn字符串,工资INT)使用δ;改变people10m改变middleName下降;改变people10m改变ssn;

之前添加一个约束一个表,满足约束砖确认所有现有的行。

如果你指定一个约束列嵌套在一个结构体,父结构也必须非空。列嵌套数组或地图类型不接受约束。

看到创建表(使用)改变改变列的表

设置一个检查约束在砖

请注意

  • 在砖运行时7.4及以上。

  • 在砖运行时7.3 LTS表你可以写检查约束定义但你不能创建检查约束。

你管理检查限制使用改变添加约束改变下降约束命令。改变添加约束验证所有现有行满足约束添加到表之前。

创建people10m(idINT,firstName字符串,middleName字符串,字符串,性别字符串,生日时间戳,ssn字符串,工资INT)使用δ;改变people10m添加约束dateWithinRange检查(生日>“1900-01-01”);改变people10m下降约束dateWithinRange;

看到ALTER TABLE添加约束ALTER TABLE下降约束

检查约束是公开为表属性的输出描述细节显示TBLPROPERTIES命令。

改变people10m添加约束validIds检查(id>1id<99999999);描述细节people10m;显示TBLPROPERTIESpeople10m;

申报的主键和外键关系

预览

这个特性是在公共预览

请注意

  • 主键和外键约束砖运行时的11.1及以上。

  • 主键和外键约束要求统一目录和三角洲湖。

您可以使用主键和外键关系统一编目表的字段。主键和外键信息,不执行。外键必须引用另一个表中的主键。

可以声明主键和外键的表在表创建规范条款。这一条款是不允许在cta语句。你也可以添加到现有表的约束。

创建T(pk1整数,pk2整数,约束t_pk关键(pk1,pk2));创建年代(pk整数关键,fk1、整数,fk2整数,约束s_t_fk外国关键(fk1、,fk2)引用T);

你可以查询information_schema或使用描述让细节如何约束在一个给定的应用目录。

看到的: