-
约束
-
概述
-
概念:约束是作用于表中字段上的规则,用于限制存储在表中的数据。
-
目的:保证数据库中数据的正确、有效性和完整性。
-
分类
- 注意:约束是作用于表中字段上的,可以在创建表/修改表的时候添加约束。
- 补充
- MySQL数据库中主键自增的关键字:AUTO_INCREMENT。
- 检查约束CHECK中的多个条件之间用&&连接。
-
-
外键约束
-
概念:外键用来让两张表的数据之间建立连接,从而保证数据的一致性和完整性。
- 注意:目前上述的两张表,在数据库层面,并未建立外键关联(逻辑外键),所以是无法保证数据的一致性和完整性的。
-
添加外键
-
建表时添加外键
sqlCREATE TABLE 表名( 字段名 数据类型, ..., [CONSTRAINT] [外键名称] FOREIGN KEY(外键字段名) REFERENCES 主表(主表列名) ); -
建表后添加外键
sqlALTER TABLE 表名 ADD CONSTRAINT 外键名称 FOREIGN KEY(外键字段名) REFERENCES 主表(主表列名);
-
-
删除外键
sqlALTER TABLE 表名 DROP FOREIGN KEY 外键名称; -
删除/更新行为
-

-
更改外键删除/更新行为的语法(以CASCADE为例)
sqlALTER TABLE 表名 ADD CONSTRAINT 外键名称 FOREIGN KEY(外键字段) REFERENCES 主表名(主表字段名) ON UPDATE CASCADE ON DELETE CASCADE;
-
-
-
MySQL-基础篇-约束
YL200404262026-05-11 10:34
相关推荐
倔强的石头_3 天前
《Kingbase护城河》——数据库存储空间全景探测与精细化瘦身实战云技纵横3 天前
唯一索引 INSERT 死锁实战:5 秒复现交叉插入的 S 锁循环等待沉默王二3 天前
面试官:RAG 不用向量数据库,用 MySQL 硬扛?我:100 万向量不是很轻松?冬奇Lab3 天前
每日一个开源项目(第134篇):Zvec - 阿里开源的嵌入式向量数据库,向量搜索界的 SQLite小猿姐3 天前
MySQL Top 10 热点问题 AI 运维实战:从内核诊断到云原生运维ClouGence3 天前
Oracle CDC 架构优化:从主库直连到 DataGuard 备库同步云技纵横4 天前
Gap Lock 死锁实战:5 秒在本地复现 MySQL 间隙锁死锁无响应de神4 天前
三、用户与权限管理摇滚侠4 天前
Linux CentOS7 rpm 安装 MySQL 5.7