MySQL 创建主外键
外键定义语法:
[CONSTRAINT symbol] FOREIGN KEY [id] (index_col_name, …)
REFERENCES tbl_name (index_col_name, …)
[ON DELETE {RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT}]
[ON UPDATE {RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT}]
该语法可以在 CREATE TABLE 和 ALTER TABLE 时使用,CONSTRAINT是一个约束标志,这个约束可以是主键、唯一键等各种键,如果指定CONSTRAINT symbol,则就使用这个 symbol 作为这些键的名字,否则,MYSQL会自动生成一个名字。
ON DELETE、ON UPDATE表示事件触发限制,可设参数:
RESTRICT(限制外表中的外键改动)
CASCADE(跟随外键改动)
SET NULL(设空值)
SET DEFAULT(设默认值)
NO ACTION(无动作,默认的)
例如:
create table student(
sid int primary key,
sname char(120),
sex char(120),
scourse char(120)
);
create table course(
cid int primary key,
cname char(120),
ccredit int
);
create table stucourse(
scid int primary key,
sid int,
cid int,
foreign key(sid) references student(sid),
foreign key(cid) references course(cid),
garde int not null
);
foreign key 里面的 sid 和 cid 是 stucourse 表里面定义的两个字段,后面的两个 sid 和 cid 是 student 表 和 course 表里面的
MySQL 创建主外键相关推荐
- oracle+cascade=gt;true,mysql数据库主外键级联删除脚本RESTRICT -- CASCADE
在项目中,我们一般在数据库设计的时候做主外键关联设计,要么就不做.但是这样不符合规范,呵呵. 建立主外键关系的时候,默认是不能级联删除的.而出现往往在删除主表的数据时报错, 需要先删除从表然后再删除主 ...
- mysql不能删除外键吗,MySQL不能删除外键约束所需的索引
MySQL不能删除外键约束所需的索引 我需要改变现有的数据库添加一列. 因此我也想更新UNIQUE字段来包含这个新列. 我试图删除当前的索引,但不断收到错误MySQL Cannot drop inde ...
- mysql级联删除外键约束_mysql通过外键级联删除
mysql 可通过外键约束,实现数据的级联更新或者删除. 例如有主表(员工排班表): CREATE TABLE `personal_schedule` ( `id` int(11) NOT NULL ...
- Mysql无法创建外键的原因
在Mysql中创建外键时,经常会遇到问题而失败,这是因为Mysql中还有很多细节需要我们去留意,我自己总结并查阅资料后列出了以下几种常见原因. 1. 两个字段的类型或者大小不严格匹配.例如,如果一个 ...
- mysql setnull_1、Mysql无法创建外键的原因 2、MySql 外键约束 之CASCADE、SET NULL、RESTRICT、NO ACTION分析和作用...
在Mysql中创建外键时,经常会遇到问题而失败,这是因为Mysql中还有很多细节需要我们去留意,我自己总结并查阅资料后列出了以下几种常见原因. 1. 两个字段的类型或者大小不严格匹配.例如,如果一个 ...
- Mysql学习总结(19)——Mysql无法创建外键的原因
在MySQL中创建外键时,经常会遇到问题而失败,这是因为Mysql中还有很多细节需要我们去留意,我自己总结并查阅资料后列出了以下几种常见原因. 1. 两个字段的类型或者大小不严格匹配.例如,如果一个 ...
- 零基础带你学习MySQL—foreign key 外键(二十六)
零基础带你学习MySQL-foreign key 外键(二十六) -- 外键演示 -- 创建 主表 my_class CREATE TABLE my_class ( id INT PRIMARY KE ...
- (转)mysql 无法设置外键的原因总结
在Mysql中创建外键时,经常会遇到问题而失败,这是因为Mysql中还有很多细节需要我们去留意,我自己总结并查阅资料后列出了以下几种常见原因. 1. 两个字段的类型或者大小不严格匹配.例如,如果一个 ...
- mysql外键约束案例_详解MySQL中的外键约束问题
使用MySQL开发过数据库驱动的小型web应用程序的人都知道,对关系数据库的表进行创建.检索.更新和删除等操作都是些比较简单的过程 .理论上,只要掌握了最常见的SQL语句的用法,并熟悉您选择使用的服务 ...
- MySQL中包含外键无法删除数据的解决方案
1.在数据库连接信息加入以下代码,意思就是允许执行多语句查询. allowMultiQueries=true 2.在删除语句前面加上SET FOREIGN_KEY_CHECKS=0; 意思就是取消My ...
最新文章
- Android 机顶盒手势、数据分页演示DEMO
- Python【每日一问】21
- jenkins配置python脚本参数_jenkins配置python脚本定时任务过程图解
- 给C盘减减肥,让你电脑飞一般速度!
- Redis面试 - 内存淘汰机制
- HttpClient_用Apache HttpClient实现URL重定向
- 《Python神经网络编程》
- ResNet网络结构详解及代码复现
- 如何下载Xcode DMG或XIP文件?
- 信道估计matlab代码
- 基于UML的高校教务管理系统的设计与实现
- 芯片中的CP是什么CP
- 启动jupyter notebook 报错:ImportError:DLL load failed,找不到指定模块的解决办法
- 浙江互联网金融联合会成立三周年走进海宁
- 遗传图谱基础原理培训资料
- galaxy tab p1000 升级android,三星Galaxy Tab P1000 简朴的刷机教程(附rom包下载地址)...
- S32K144(2)时钟配置
- 小红伞免费杀毒软件设置优化
- 阅读源码的三种境界 (转 码农翻身 微信公众号)
- 基于深度学习神经网络的农业病虫害识别(完整代码+数据)