mysql數據庫外鍵,為什么MySQL創建外鍵時會一直報錯呢?
謝謝提問,問題描述不清楚,下面我就以MySQL外建的理論并加上實際操作,希望你能學習并加以運用,明白自己的錯誤!
1.外建的使用條件:<1>兩個表必須使用InnoDB引擎<2>外建必須建立了索引,MySQL4.1.2以后的版本在建立外建時會自動創建索引<3>外建關系的兩個表的列必須是數據類型相似,也就是可以相互轉換類型的列,比如int和tinyint可以,但int和char則不可以。2.外建使用語法constraint 外鍵名 foreign key(字段名) references 表名(字段名)
3.實際操作<1>創建一個門表tb_dept1表,并且查詢表結構
create table tb_dept1 ( id int(11) not null primary key, name varchar(22) not null, location varchar(50));<2>定義數據表tb_emp5,讓它的鍵deptId作為外建關聯到tb_dept1的主鍵id
create table tb_emp5( id int(11) not null primary key,name varchar(22),deptId int(11),salary float,constraint fk_ed foreign key(deptId) references tb_dept1(id));注:MUL不是外建的標識,而是索引的標識。普通索引:key|index
4.外建的好處
使用外鍵的好處是可以使得兩張表存在關聯,保證數據的一致性和實現一些級聯的操作
【回答完畢】
關注財務總監的數據分析,學習與數據做朋友!