準(zhǔn)備:
定義一個(gè)教師表、一個(gè)學(xué)生表;在學(xué)生表中引用教師表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);
第一步:
插入一個(gè)老師
insert into teachers(teacherName) values('NameA');
插入一個(gè)學(xué)生:
insert into students(studentName,teacherID) values('NameB',100);--可以知道沒(méi)有這個(gè)教師號(hào)、所以插入會(huì)出錯(cuò)。
不過(guò)有沒(méi)有辦法可以插入一條不合理的數(shù)據(jù)呢?辦法還是有的
第二步:
set foreign_key_checks = 0; 這樣就可以了。
insert into students(studentName,teacherID) values('NameB',100);
第三步:
設(shè)置回默認(rèn)值、保持外鍵約束檢察。
set foreign_key_checks =1;
總結(jié):
這篇隨筆寫的特別的亂、我想說(shuō)的重點(diǎn)就是 set foreign_key_checks =0;時(shí)外鍵約束是沒(méi)有用的。這時(shí)可以對(duì)子表進(jìn)行違反外鍵約束的插入。
不到萬(wàn)不得以不要用這個(gè)。
以上這篇MySQL 關(guān)閉子表的外鍵約束檢察方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
標(biāo)簽:定西 鄂州 南寧 阿里 中衛(wèi) 張家界 上海 浙江
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《MySQL 關(guān)閉子表的外鍵約束檢察方法》,本文關(guān)鍵詞 MySQL,關(guān)閉,子,表,的,外鍵,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。