查询表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.外建的好处
使用外键的好处是可以使得两张表存在关联,保证数据的一致性和实现一些级联的操作
【回答完毕】
关注财务总监的数据分析,学习与数据做朋友!