在列定义同时定义的约束称为列级
完整性约束定义,作为表的独立的一项定义的完整性约束称为表级完整性约束。在列级完整性约束定义处可以定义如下约束:
一、NOT NULL:限制列取非空值
二、DEFAULT:指定列的默认值,使用形式为:DEFAULT 常量
三、UNIQUE:限制列取值不重
四、CHECK:限制列的取值范围,使用形式为:CHECK(约束表达式)
五、PRIMARY KEY:指定本列为主码
六、FOREIGN KEY:定义本列为引用其他表的
外码。使用形式为:
【FOREIGN KEY(<列名>)】REFERENCES<外表名>(<外表列名>)
在上述约束中,除了NOT NULL和DEFAULT不能在表级完整性约束处定义之外,其他约束均可在表级完整性约束处定义。但有几点需要主义:第一,如果CHECK约束是定义多列之间的取值约束,则只能在表级完整性约束处定义;第二,如果表的主码由多个列(超过1列)组成,则这样的主码也只能在表级完整性约束处定义,并注意将主码列用括号括起来,即PRIMARY KEY(列1{【,列2】...});第三,如果在表级完整性约束处定义外码,则FOREIGN KEY 和<列名>均不能省略。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。