準備:
定義一個教師表、一個學生表;在學生表中引用教師表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);--可以知道沒有這個教師號、所以插入會出錯。

不過有沒有辦法可以插入一條不合理的數(shù)據(jù)呢?辦法還是有的
第二步:
set foreign_key_checks = 0; 這樣就可以了。
insert into students(studentName,teacherID) values('NameB',100);

第三步:
設置回默認值、保持外鍵約束檢察。
set foreign_key_checks =1;
總結(jié):
這篇隨筆寫的特別的亂、我想說的重點就是 set foreign_key_checks =0;時外鍵約束是沒有用的。這時可以對子表進行違反外鍵約束的插入。
不到萬不得以不要用這個。
以上這篇MySQL 關(guān)閉子表的外鍵約束檢察方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
您可能感興趣的文章:- MySQL外鍵約束的實例講解
- 詳解MySQL 外鍵約束
- MySQL外鍵約束常見操作方法示例【查看、添加、修改、刪除】
- MySQL刪除有外鍵約束的表數(shù)據(jù)方法介紹
- MySQL刪除表的時候忽略外鍵約束的簡單實現(xiàn)
- MySQL外鍵約束的禁用與啟用命令
- 詳解MySQL中的外鍵約束問題
- MySQL創(chuàng)建數(shù)據(jù)表并建立主外鍵關(guān)系詳解
- MySQL與Oracle數(shù)據(jù)類型對應關(guān)系(表格形式)
- MySQL 外鍵約束和表關(guān)系相關(guān)總結(jié)