约束砖
砖支持标准的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>1和id<99999999);描述细节people10m;显示TBLPROPERTIESpeople10m;
申报的主键和外键关系
预览
这个特性是在公共预览。
请注意
主键和外键约束砖运行时的11.1及以上。
主键和外键约束要求统一目录和三角洲湖。
您可以使用主键和外键关系统一编目表的字段。主键和外键信息,不执行。外键必须引用另一个表中的主键。
可以声明主键和外键的表在表创建规范条款。这一条款是不允许在cta语句。你也可以添加到现有表的约束。
创建表T(pk1整数不零,pk2整数不零,约束t_pk主关键(pk1,pk2));创建表年代(pk整数不零主关键,fk1、整数,fk2整数,约束s_t_fk外国关键(fk1、,fk2)引用T);
你可以查询information_schema
或使用描述
让细节如何约束在一个给定的应用目录。
看到的: