mysql外链删除_清理mysql外链的意思 和命令
通常说到外键,只会提到“外键的目标
是确定资料的参考完整性(referential integrity)。”,但是外键详细
包含哪些动作和意思
呢?
1、配置
外链:
(1)、议决
create table建立
外键:
看2行代码,是建表中的命令:
create table city(
......
key idx_fk_country_id (country_id),
constraint fk_city_country Foreign Key(country_id) Referencescountry(country_id) on DELETE restrictON update cascade ON Delete cascade)...
注:ON update cascade ON Delete cascade级联更新和级联删除。
通常在配置
外链时,都会先配置
外链字段的索引,如上:key idx_fk_country_id (country_id),但这不是非必需的,上面代码中:
key idx_fk_country_id (country_id),
constraint fk_city_country
这些是能够
省去的,直接从FOREIGN KEY开始。当然,假如
要给外链命名,则constraint 是必须要
的,
假如
没有key idx_fk_country_id (country_id),这行时,在配置
外链后,mysql会自动加上key索引(即准则
index索引).能够
在建完表后用show create table city;来查看。
(2)、议决
alter table建立
外键:——留心
命令中不是用 modify。而是add
ALTER TABLE city ADD INDEX idx_city(countryid);
ALTER TABLE cityADD CONSTRAINT fk_city_country FOREIGN KEY (countryid) REFERENCES country(country_id) ON DELETE CASCADE;
2、删除外键:
ALTER TABLE tbname DROP FOREIGN KEY fk_fkname;
但是假如
定义时没有指定CONSTRAINT fk_fkname(即外键符号)时该如何
删除呢?别急,没有指定时,MySQL会自身
建立
一个,能够
议决
以下命令查看:SHOW CREATE TABLE tbname;然后再执行上面的命令。
3、外链的详细
动作:
留心
,on DELETE restrict和on DELETE cascade不能
同时定义
默认动作1:
当添加
子表中外键值时,假如
父表主键不存在该值时,则禁止插入。
默认动作2:
当主表删除某记载
时,假如
子表有对应该录的内容时,禁止删除
因此,上面的能够
on DELETE restrict略去。
非默认动作——级联更新:
当父表更新主键时,假如
子表有对应记载
,则自动更新子表,这一动作用ON update cascade来实现。
非默认动作——级联删除:
当父表更新主键时,假如
子表有对应记载
,则自动更新子表,这一动作用ON Delete cascade来实现。
4、外键的其它参数:
a、set null : 示意
父表在更新或删除时,子表对应的字段被set null.
b、no action : 和restrict相似
,限定
在子表相关
联记载
的情况下父表不能
更新。
5、临时关上
外键检验
:
常用于:
A、导入多个表数据时,须要
忽略之前表的导入顺序,
B、执行LOAD DATA和ALTER TABLE操作时。
命令:
set foreign_key_checks=0
完成之后,重新开启外键检验
用set foreign_key_checks=1;来还原
mysql外链删除_清理mysql外链的意思 和命令相关推荐
- mysql百万数据删除_【MySQL】删除大量数据的具体实现
ourmysql博客中提供了 <大表删除数据的思路>,对于大表依据主键删除的思路是必须的,删除几千万的数据还算是比较简单的,如果你的数据库中的表高达数百亿条记录 ,删除其中的几十亿,就需要 ...
- Mysql报错1091解决办法_关于MYSQL:外键删除后,查询表发现外键依旧存在,再删一次会报错:原因及相关解决办法...
1.创建表test6:外键名为test3_fk mysql> create table test6( -> id int, -> test_name varchar(32), -&g ...
- mysql中有主键和外键吗_谈谈mysql的主键和外键
主键:保证数据的唯一性,非空且唯一,一般设置主键的语法为:字段 类型 PRIMARY KEY;或者 字段 类型,PRIMARY KEY(字段名) 外键:保证数据的完整性,一致性.一般设置的外键关联的是 ...
- mysql数据库级联删除_怎样对数据库进行级联删除?
众所周知,数据库软件有级联删除和更新的功能.所谓级联删除和更新是说,如果两个表之间使用了主键与外键的关系约束,当对主键表的记录进行更新或者删除操作时,如果是更新,则自动将外键表的记录自动更新,如果是删 ...
- mysql安装错误删除_清除后无法重新安装mysql-server
我最近刚刚安装了Ubuntu 16.04.我还通过apt-get install安装了mysql-server和mysql-client(默认版本为5.7.12). 因为5.7.12显示了一些问题,所 ...
- 在mysql中能够删除一列的是什么_mysql数据库中命令行下常用命令的操作(增、删、改、查)和数据类型...
连接命令:mysql -h[主机地址] -u[用户名] -p[用户密码] 创建数据库:create database [库名] 显示所有数据库: show databases; 打开数据库:use [ ...
- 关于mysql的一些问题_关于mysql的一些细节问题
1. MySQL删除有外键约束的表 当删除的表中的字段被用作了其他表的外键,因此在删除这个表(父表)之前必须先删除具有外键的表(子表).也就是说,删除表的过程需要和创建表的过程一致. 但如果数据库表格 ...
- mysql数据生产数据分析_基于MySQL玩转SQL数据分析课程 互联网数据分析师-SQL数据分析实战视频教程...
基于MySQL玩转SQL数据分析课程 互联网数据分析师-SQL数据分析实战视频教程 课程目录 (1)SQL与数Ju分析;目录中文件数:23个 (1) 开课-课时3SQL与数Ju库的价值.flv (2) ...
- mysql 5.6参数_初识 MySQL 5.6 新功能、参数
摘要: MySQL5.6 针对 MySQL5.5 各个方面又提升了很多,特别在性能和一些新参数上面,现在看看大致提升了哪些方面(后续不定时更新). 一:性能.功能上的提升. ① 在线DDL即 onli ...
最新文章
- html的body内标签之input系列1
- spyder安装_windows10 Anaconda3安装教程
- ASP.NET 2.0的异步页面刷新真给劲
- 一次 Nacos 的踩坑记录!
- 基础练习 龟兔赛跑预测
- 上海一百多个数据中心每年消耗全市1.6%的电,将优胜劣汰
- [OS复习]进程管理2
- mysql用户管理+pymysql模块
- 讨论群问题:Linux 下的批量操作,第2种很赞
- (68)FPGA面试题-使用不同的代码实现2:1 MUX ?使用assign语句
- 【图像去噪】基于matlab维纳滤波图像去噪【含Matlab源码 725期】
- C# WinForm调用UnityWebPlayer Control控件 学习笔记1
- 小程序练习 - rawData和userInfo
- promise兼容性问题
- 小程序加载不出来图片
- Hellow Python之打包 exe 文件超级试错
- 服务器v3 v4性能,至强E5 v4性能表现测试
- bigdecimal转换为long_BigDecimal与Long、int之间的相互转换
- 【MySQL】存储过程与存储函数
- Jmeter-Beanshell取样器举例描述常用方法及使用场景