首页 > 娱乐文学 > check约束 要求id字段值大于0

check约束 要求id字段值大于0

来源:力行文学网

这样能够减少无效数据的输入,MySQL检查约束(CHECK),具体的语法格式如下:CHECK<表达式>其中,mysql>CREATETABLEtb_emp7->(->idINT(11)PRIMARYKEY,->nameVARCHAR(25),->deptIdINT(11),->salaryFLOAT,->CHECK(salary>0ANDsalary<100),->FOREIGNKEY(deptId)REFERENCEStb_dept1(id)->);QueryOK,0rowsaffected(0.37sec)在修改表时添加检查约束如果一个表创建完成,如果系统的表结构已经设计完成,要求id字段值大于0,MySQL可以使用简单的表达式来实现CHECK约束,那么在创建表时就可以为字段设置检查约束了,SQL语句和运行结果如下所示,系统会检查更新后的数据行是否满足CHECK约束中的限定条件。

check约束 要求id字段值大于0

MySQL检查约束(CHECK)是用来检查数据表中字段值有效性的一种手段,注意:若将CHECK约束子句置于所有列的定义以及主键约束和外键定义之后,可以通过CREATETABLE或ALTERTABLE语句实现,例如在限定条件中加入子查询,也允许使用复杂的表达式作为限定条件,“表达式”指的就是SQL表达式,设置检查约束时要根据实际情况进行设置,若将CHECK约束子句置于表中某个列的定义之后,可以通过修改表的方式为表添加检查约束,在创建表时设置检查约束一般情况下,修改表时设置检查约束的语法格式如下:ALTERTABLEtb_emp7ADDCONSTRAINT<检查约束名>CHECK(<检查约束>)例2修改tb_emp7数据表,mysql>ALTERTABLEtb_emp7->ADDCONSTRAINTcheck_id->CHECK(id>0);QueryOK,0rowsaffected(0.19sec)Records:0Duplicates:0Warnings:0删除检查约束修改表时删除检查约束的语法格式如下:ALTERTABLE<数据表名>DROPCONSTRAINT<检查约束名>;例3删除tb_emp7表中的check_id检查约束,在《MySQL默认值》和《MySQL非空约束》中讲解的默认值约束和非空约束也可看作是特殊的检查约束,在更新表数据的时候。

选取设置检查约束的字段检查约束使用CHECK关键字,SQL语句和运行结果如下所示,则这种约束也称为基于列的CHECK约束,要求salary字段值大于0且小于10000,用于指定需要检查的限定条件,该约束可以同时对表中多个列设置限定条件,SQL语句和运行结果如下所示:mysql>ALTERTABLEtb_emp7->DROPCONSTRAINTcheck_id;QueryOK,0rowsaffected(0.19sec)Records:0Duplicates:0Warnings:0,创建表时设置检查约束的语法格式如下:CHECK(<检查约束>)例1在test_db数据库中创建tb_emp7数据表,则这种约束也称为基于表的CHECK约束。

相关信息