mysql给表加外键约束_MySQL为表添加外键约束
为表添加外键约束的语法
Alter table 表名 add constraint FK_ID foreign key(外键字段名) REFERENCES 外表表名(主键字段名);
为表student添加外键约束
执行成功后,使用DESC来查看学生表和班级表
可以看出,grade表中的id是主键,student表中的gid是外键
使用show create table,查看表的详细结构
可以看出,gid为student表的外键,并且,gid依赖于grade表中的id主键。
为表添加外键约束时,需要注意
1、建立外键的表,必须为InnoDB型,不能使临时表,因为,在MySQL中只有InnoDB类型的表,才支持外键。
2、定义外键名时,不能加引号,比如constraint’FK_ID’或constraint”FK_ID”都是错误的
添加外键约束的参数说明
建立外键,是为了保证数据的完整和统一性,如果,主表中的数据被删除或修改,那么,从表中对应的数据也应该被删除,否则,数据库会存在很多无意义的垃圾数据。
MySQL可以在建立外键时,添加ON DELETE或ON UPDATE子句,来告诉数据库,怎样避免垃圾数据的产生
语法格式
alter table 表名 add constraint FK_ID foreign key(外键字段名) REFERENCES 外表表名(主键字段名);
参数说明
CASCADE——删除包含与已删除键值,有参照关系的所有记录
SET NULL——修改包含与已删除键值,有参照关系的所有记录,使用NULL值替换,不能用于已标记为NOT NULL的字段
NO ACTION——不进行任何操作
RESTRICT——拒绝主表删除或修改外键关联词,在不定义ON DELETE和ON UPDATE子句时,这是默认设置,也是最安全的的设置
mysql给表加外键约束_MySQL为表添加外键约束相关推荐
- mysql数据库怎么添加主键约束_mysql修改表时怎么添加主键约束?
mysql中可以通过"ALTER TABLE 表名 ADD PRIMARY KEY(字段名);"语句在修改数据表时添加主键约束:当在修改表时要设置表中某个字段的主键约束时,要确保设 ...
- 如何增加mysql主键约束_mysql修改表时怎么添加主键约束?
mysql中可以通过"ALTER TABLE 表名 ADD PRIMARY KEY(字段名);"语句在修改数据表时添加主键约束:当在修改表时要设置表中某个字段的主键约束时,要确保设 ...
- mysql创建主键约束_mysql建表键约束(主键约束,自增约束)
-- 主键约束: id int primary key 可以唯一确定一张表中的一条记录,也就是通过给某个字段添加约束,就可以使得字段不重复且不为空. create table date ( id in ...
- mysql建表后添加约束_MYSQL建表完成之后添加约束
1.主键约束 添加:alter table table_name add primary key (字段) 删除:alter table table_name drop primary key 2.非 ...
- mysql 一对多 右表多条记录合并_MYSQL 单表一对多查询,将多条记录合并成一条记录...
一.描述: 在MySQL 5.6环境下,应工作需求:将一个表中多条某个相同字段的其他字段合并(不太会表达,有点绕,直接上图) 想要达到的效果: 实现SQL语句: SELECT a.books, GRO ...
- mysql的innodb表生成的物理文件_MySQL innodb表使用表空间物理文件复制或迁移表
MySQL InnoDB引擎的表通过拷贝物理文件来进行单表或指定表的复制,可以想到多种方式,今天测试其中2种: 将innodb引擎的表修改为Myisam引擎,然后拷贝物理文件 直接拷贝innodb的表 ...
- mysql锁表问题的解决方法_MYSQL锁表问题的解决方法
本文实例讲述了MYSQL锁表问题的解决方法.分享给大家供大家参考,具体如下: 很多时候!一不小心就锁表!这里讲解决锁表终极方法! 案例一 mysql>show processlist; 参看sq ...
- mysql更新多表sql语句怎么写_MySQL多表updatesql语句总结
MySQL 多表 update 有几种不同的写法.假定我们有两张表,一张表为Product表存放产品信息,其中有产品价格列Price:另外一张表是 MySQL 多表 update 有几种不同的写法. ...
- mysql增加修改主键_mysql怎么修改添加主键
mysql修改添加主键的方法:执行[ALTER TABLE `test2` DROP PRIMARY KEY ,ADD PRIMARY KEY ( `id` );]语句即可修改主键. 添加表字段 (推 ...
最新文章
- PCL滤波介绍(3)
- [二]Java虚拟机 jvm内存结构 运行时数据内存 class文件与jvm内存结构的映射 jvm数据类型 虚拟机栈 方法区 堆 含义...
- 心得体悟帖---16、哪些看起来很难做的事情真的不过如此
- keras从入门到放弃(十三)卷积神经网络处理手写数字识别
- 【sprinb-boot】lib分离打包
- 轨道角度分布图_高分五号:大气气溶胶多角度偏振探测仪
- PHP 结合 Boostrap 结合 js 实现学生列表删除编辑以及搜索功能(完结)
- 学术圈炸了!IEEE限制华为相关专家参与审稿:这操作毁尽三观
- 由先序+后序遍历确定序列是否唯一并输出一个中序序列
- 实验室服务器安装虚拟机,如何使用VM虚拟机创建私有网络试验室
- Linux: 介绍make menuconfig中的每个选项含义【转】
- java一寸是多少像素_一寸照片的尺寸是多少像素
- “超低能,劲搞笑”笑话管理系统 v2.0
- 酷6 期待“化茧成蝶”
- OSF SDN在云计算网络虚拟化中的应用
- iOS关于图片点到像素转换之杂谈
- 【Python】手把手教你用Python爬取某网小说数据,并进行可视化分析
- 地统计插值学习心得(三)ArcGIS Pro与ArcMap软件中地统计分析的区别
- 机器人旋转关节非线性摩擦辨识
- Python统计《红楼梦》人物出现频率