创建表的时候添加约束:
来保证数据的完整性:
实体完整性
含义:数据库表中每一行数据就是一个实体(entity)
作用:标识每一行数据不重复,行级约束
类型:
(不能重复,且不能为null,可以设置多个主键列,称为联合主键,当多个字段值都相同的时候才判断为重复)
(不能重复,可以为null)
(指定的列的数据会自动增长,即使数据删除,还是从删除的序号继续往下)
域完整性
含义:限制单元格数据正确,不对照此列的其他单元格比较
作用:单元格约束
类型:
引用完整性
含义:指表与表之间的一种对应关系,通常情况下可以通过设置两个表之间的主键,外键关系,或者编写两表之间的触发器来实现
作用:有对应参照的完整性的两张表,在对他们进行数据插入,更新,删除的过程中,系统都会将被修改表与另一张表进行对照,阻止一些不正确的数据的操作
类型:
注意:
数据库的主键和外键类型一定要一致
两个表必须是 InnoDB 类型
设置参照完整性后,外键当中的内值,必须是主键当中的内容
一个表设置当中的字段设置为主键,设置主键为主表
创建表时,设置外键,设置外键的为子表