1.数据类型      2.数据表的引擎 数据表 mysql> show tables; +------------------+ | Tables_in_market | +------------------+ | customers_info | | orders | +------------------+ rows in set (0.00 sec) 遇到错误信息 mysql> alter table orders add constraint fk_orders foreign k…
ERROR 1215 (HY000): Cannot add foreign key constraint 最近在建表时遇到了这个错误,然后找了下找到了解决办法,记录下: 本来是要建两张表: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 create table department( id int, name varchar(20) );     create table employee( id int primary key auto_increment, name v…
MySQL中在为一个varchar类型数据列添加外键时,会发生上面所示的错误,这里我google了一下,感觉它们碰到的问题跟我这个说的有点不相干,尝试了多种方式后来才发现是:主表(table1)所对应关联的数据列必须为unique才可以. #指定主表dept列unique约束 alter table table1 modify dept varchar(5) not null unique. 这里我创建了两张表(table2. table1),表结构如图所示: 为什么要增加unique约束? 这…
问题 之前一直用的 Laravel 5.4,数据库也是直接写 sql 的,感觉可定制性更强,顺便锻炼下 sql.这次改用了 Laravel 5.5,索性用迁移建库试试,结果报错如下: SQLSTATE[HY000]: General error: 1215 Cannot add foreign key constraint (SQL: alter table `users` add constraint `users_production_enterprise_id_foreign` forei…
最近在做新生入学系统,学生表中包括新生的班级,专业等信息,班级,专业就需要和班级表,专业表进行关联,但是在添加外键的过程中却出现了“Cannot add foreign key constraint” 的问题,也就是不能添加外键约束,为什么就不能添加外键呢? 出现这个问题主要有三个原因: (1)外键对应的字段数据类型不一致 (2)设置外键时“删除时”设置为“SET NULL” (3)两张表的存储引擎不一致 经过检查,前两种情况排除,但是两张表的存储引擎都不清楚,于是又百度了一些关于存储引擎的东西…
最近在使用shiro做权限管理模块时,使用的时user(用户)-role(角色)-resource(资源)模式,其中user-role 是多对多,role-resource 也是多对多.但是在使用spring data jpa 进行关联映射数据库时,报错: Cannot add foreign key constraint.最后我这里产生错误的的原因是 reource 表中主键ID类型是 bigint , 而role-resource 关联表中的resource_id 是int型,所以报错.  …
首先建立user表,如下图 然后建立message表,userid用作外键,关联user表的id 点击上面的外键按钮,添加外键如下 结果保存时报错: cannot add foreign key constraint 最后查找发现user表中的id和message表中的userid定义的属性不一样,如下,一个选择了无符号,一个没选,两个选一样的,按照上面添加外键的方法就解决问题了:…
MySQL Error 1215: Cannot add foreign key constraint DROP TABLE IF EXISTS `r_role_region`; CREATE TABLE `r_role_region` ( `id` ) NOT NULL AUTO_INCREMENT, `role_id` ) NOT NULL, `region_id` ) NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `index_role_id` (`ro…
很大原因是因为: 引用表中的字段类型和被引用的主键的类型不统一. 比如说学生表中有一个班级ID字段引用班级表. 班级表的ID是int类型,学生表中的班级ID是Varchar类型. 肯定会提示上述1215 错误,特别注意了.…
今天在使用mysql时遇到的问题,最后发现问题是,数据类型与外键数据类型不同,改正过来就没有问题了.…