MySQL 关闭子表的外键约束检察方法

 更新时间:2017年03月18日 10:00:33   投稿:jingxian  
下面小编就为大家带来一篇MySQL 关闭子表的外键约束检察方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

准备:

定义一个教师表、一个学生表;在学生表中引用教师表ID

create table teachers(teacherID int not null auto_increment primary key,teacherName varchar(8));

create table students(studentID int not null auto_increment primary key,teacherID int not null,studentName varchar(8),

constraint fk_students_teacherID foreign key (teacherId) references teachers(teacherId) on delete no action on update cascade);

第一步:

插入一个老师

insert into teachers(teacherName) values('NameA');

插入一个学生:

insert into students(studentName,teacherID) values('NameB',100);--可以知道没有这个教师号、所以插入会出错。

不过有没有办法可以插入一条不合理的数据呢?办法还是有的

第二步:

set foreign_key_checks = 0; 这样就可以了。

insert into students(studentName,teacherID) values('NameB',100);

第三步:

设置回默认值、保持外键约束检察。

set foreign_key_checks =1;

总结:

这篇随笔写的特别的乱、我想说的重点就是 set foreign_key_checks =0;时外键约束是没有用的。这时可以对子表进行违反外键约束的插入。

不到万不得以不要用这个。

以上这篇MySQL 关闭子表的外键约束检察方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • MySQL NULL 值处理实例详解

    MySQL NULL 值处理实例详解

    这篇文章主要介绍了MySQL NULL 值处理实例详解的相关资料,需要的朋友可以参考下
    2017-01-01
  • MySQL查询中LIMIT的大offset导致性能低下浅析

    MySQL查询中LIMIT的大offset导致性能低下浅析

    这篇文章主要给大家介绍了关于MySQL查询中LIMIT的大offset导致性能低下的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-12-12
  • MySQL双层游标嵌套循环实现方法

    MySQL双层游标嵌套循环实现方法

    要实现逐行获取数据,需要用到MySQL中的游标,一个游标相当于一个for循环,这里需要用到2个游标,如何在MySQL中实现游标双层循环呢,下面小编给大家分享MySQL双层游标嵌套循环方法,感兴趣的朋友跟随小编一起看看吧
    2024-05-05
  • MySQL如何创建触发器

    MySQL如何创建触发器

    这篇文章主要为大家详细介绍了MySQL如何创建触发器,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-04-04
  • linux下 root 登录 MySQL 报错的问题

    linux下 root 登录 MySQL 报错的问题

    本文给大家记录的是个人在linux下使用root用户登录mysql的时候遇到的一个错误的解决方法,非常的简单实用,有需要的小伙伴可以参考下。
    2016-02-02
  • Win7下安装MySQL5.7.16过程记录

    Win7下安装MySQL5.7.16过程记录

    这篇文章主要为大家分享了Win7下安装MySQL5.7.16过程的笔记,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-01-01
  • java实现mysql自动更新创建时间与更新时间的两种方式

    java实现mysql自动更新创建时间与更新时间的两种方式

    在实际开发中,每条数据的创建时间和修改时间,尽量不需要应用程序去记录,而由数据库获取当前时间自动记录创建时间,本文主要介绍了java实现mysql自动更新创建时间与更新时间的两种方式,感兴趣的可以了解一下
    2024-01-01
  • MySQL中UUID主键的优化小结

    MySQL中UUID主键的优化小结

    UUID可以唯一标识记录,因此有些场景可能会用来作为表的主键,本文主要介绍了MySQL中UUID主键的优化小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-09-09
  • 一文搞懂Mysql中的共享锁、排他锁、悲观锁、乐观锁及使用场景

    一文搞懂Mysql中的共享锁、排他锁、悲观锁、乐观锁及使用场景

    刚开始学习MySQL中锁的时候,网上一查出来一堆,什么表锁、行锁、读锁、写锁、悲观锁、乐观锁等等等,直接整个人就懵了,下面这篇文章主要给大家介绍了关于Mysql中共享锁、排他锁、悲观锁、乐观锁及使用场景的相关资料,需要的朋友可以参考下
    2022-07-07
  • 定时备份 Mysql并上传到七牛的方法

    定时备份 Mysql并上传到七牛的方法

    常见的 MySQL 数据备份方式有,直接打包复制对应的数据库或表文件(物理备份)、mysqldump 全量逻辑备份、xtrabackup 增量逻辑备份等。这篇文章主要介绍了定时备份 MySQL 并上传到七牛 ,需要的朋友可以参考下
    2018-10-10

最新评论