数据库SQL外键设置
创建约束
alter table user_relation add CONSTRAINT `fk_deleteUser` FOREIGN KEY (`account`) REFERENCES `sys_user` (`account_`) ON DELETE CASCADE ON UPDATE NO ACTION;表名 外键名 表字段 外键关联表 外键关联字段 删除时 级联模式 更新时 不做任何操作
模式:
- district:严格模式(默认),父表不能删除或更新一个已经被子表数据引用的记录;
- cascade:级联模式,父表的操作,对应子表关联的数据也跟着被删除;
- set null:置空模式,父表的操作之后,子表对应的数据(外键字段)被置空。
CONSTRAINT fk_score_stu_sid FOREIGN KEY(stu_id) REFERENCES student(stu_id)
fk_score_stu_sid:外键名
stu_id 本表某一列名
student(stu_id) 关联外表(主键)FOREIGN KEY(stu_id) REFERENCES student(stu_id);此时系统自动取外键名:crouse_ibfk_1
在已有的表中设置外键约束:
alter table crouse add CONSTRAINT fk_crouse_tid FOREIGN KEY(teacher_id) REFERENCES teacher(teacher_id);
注意:子表的外键必须关联父表的主键,且关联字段的数据类型必须匹配,如果类型不一样,则创建子表时会出现错误。
删除外键约束:
有外键约束的列必须先删除外键,然后才能删除该列:
alter table subject drop foreign key crouse_ibfk_1;
crouse_ibfk_1是外键的名字,我们可以自己设,也可以系统生成,这样的话我们要查看建表信息才能知道外键名字是什么。
查看外键
https://blog.csdn.net/qq_21480607/article/details/113481976
表信息:
CREATE TABLE teacher(teacher_id int(12) primary key,teacher_name varchar(10)
)ENGINE= InnoDB DEFAULT CHARSET=UTF8;
CREATE TABLE crouse(crouse_id int(8) primary key,crouse_name varchar(20),teacher_id int(12),CONSTRAINT fk_crouse_tid FOREIGN KEY(teacher_id) REFERENCES teacher(teacher_id)
)ENGINE= InnoDB DEFAULT CHARSET=UTF8;
数据库SQL外键设置相关推荐
- sql组合键设置外键_学习SQL:外键
sql组合键设置外键 In the previous article, we talked about the primary key (PK). In this one, we'll check w ...
- mysql外键设置sql语句_sql设置外键(设置外键的sql语句)
sql设置外键(设置外键的sql语句) 2020-07-24 11:44:03 共8个回答 sql怎么设置外键 创建数据库时就是有主键的创建了主键,但是表之间的关系没有联系,要建数据库关系图只有主键没 ...
- mysql外键设置不成功_MySQL数据库建立外键失败的原因总结
在MySQL数据库创建外键时,经常会发生一些错误,这是一件很令人头疼的事.一个典型的错误就是:Can't create table... 的错误.在很多实例中,这种错误的发生都是因为mysql一直以来 ...
- mysql 命令行 外键_MySQL命令行MySql外键设置详解
第一招.mysql服务的启动和停止 net stop mysql net start mysql 第二招.登陆mysql 语法如下: mysql -u用户名 -p用户密码 键入命令mysql -uro ...
- sql外键_SQL外键
sql外键 In this article let us review different ways to create a SQL foreign key, rules on updates and ...
- sql外键需要输入吗_SQL外键
在本教程中,将学习SQL外键以及如何创建FOREIGN KEY约束以强制表之间的关系. 1. SQL外键约束简介 外键是一列或一组列,用于强制两个表中的数据之间的链接. 在外键引用中,第一个表的主键列 ...
- flask sql外键使用_如何在SQL中使用外键?
flask sql外键使用 Basically, Foreign Key represents relationship between tables. 基本上, 外键代表表之间的关系 . Synta ...
- Navicat外键设置
先介绍一下基本情况: 现在有两个表一张是t_blog表(博客表),一张是t_blogType表(博客类别) 现在我想把t_blog表中的typeID属性设置为外键,关联t_blogType表中的id属 ...
- mysql 命令行 外键_MySQL基本命令行MySql外键设置详解
MySQL 命令行 一.mysql服务的启动和停止 net stop mysql net start mysql 二.登录mysql 语法如下:mysql -u 用户名 -p 用户密码 键入命 ...
最新文章
- 比较两个字符串是否相等
- 洛谷 1351 联合权值
- 全球化、文化和团队多样性
- boost::hana::when_valid用法的测试程序
- 数据源管理 | 基于JDBC模式,适配和管理动态数据源
- spring-boot两小时入门笔记
- 有偿数据收集 | 哈工大手写作文图片收集
- 【Spring源码】Spring Transactional事务:传播机制(Propagation) 介绍 和 源码剖析
- MySQL 常用基础命令
- 知识图谱中的结构信息建模
- 【2022年】帝豪gs/帝豪gl 车机安装第三方软件教程
- windows怎样让宽带自动连接
- android 蓝牙发送失败怎么办,在Android中通过蓝牙发送文件时出错?
- 从两幅图像的匹配点计算焦距f
- Animator组件--culling mode
- N子棋的实现方法,包括三子棋,五子棋
- 一个站点不够学?那就在用Python增加一个采集目标,一派话题广场+某金融论坛话题广场爬虫
- 福岛第1核电站2号3号反应堆辐射量急剧上升
- matlab绘制蔓叶线,powerdraw
- php tp5 cms,thinkphpcms