MySQL数据库中的五大约束
程序员文章站
2022-05-31 23:37:54
...
文章目录
数据库中的五大约束包括:
1.主键约束(Primay Key Coustraint) 唯一性,非空性;
2.唯一约束 (Unique Counstraint)唯一性,可以空,但只能有一个;
3.默认约束 (Default Counstraint) 该数据的默认值;
4.外键约束 (Foreign Key Counstraint) 需要建立两表间的关系;
5.非空约束(Not Null Counstraint):设置非空约束,该字段不能为空。
详细介绍:
外键约束 (Foreign Key Counstraint
)
1、设置外键的注意事项:
> 只有INNODB的数据库引擎支持外键,修改my.ini文件设置default-storage-engine=INNODB;
> 外键与参照列的数据类型必须相同。(数值型要求长度和无符号都相同,字符串要求类型相同,长度可以不同);
> 设置外键的字段必须要有索引,如果没有索引,设置外键时会自动生成一个索引;
2、设置外键的语法:
CONSTRAINT 外键名 FOREIGN KEY(外键字段) REFERENCES 参照表(参照字段);
ON DELETE SET NULL ON UPDATE CASCADE -- 设置操作完整。
3、外键约束的参照操作:
当对参照表的参照字段进行删除或更新时,外键表中的外键如何应对。
参照操作可选值:
RESTRICT: 拒绝对参照字段的删除或修改(默认);
NO ACTION:与RESTRICT相同,但这个指令只在MySql生效;
CASCADE: 删除或更新参照表的参照字段时,外键表的记录同步删除或更新;
SET NULL: 删除删除或更新参照表的参照字段时,外键表的外键设为NULL (此时外键不能设置为NOT NULL)。
二、主键约束(Primay Key Coustraint
)
1、主键的注意事项:主键默认非空,默认唯一性约束,只有主键可以设置自动增长(主键不一定自增,自增一定是主键)。
2、设置主键的方式:
> 在定义列时设置:id INT UNSIGNED PRIMARY KEY。
> 在列定义完成后设置:PRIMARY KEY(id)。
其他约束没有特殊要求因此不做解释。
上一篇: boost安装
下一篇: BOOST.JSON库的学习笔记(二)