ERROR 1215 (HY000): Cannot add foreign key constraint

最近在建表时遇到了这个错误,然后找了下找到了解决办法,记录下:

本来是要建两张表:

出现下面的提示:

然后开始上网查,有的说是用的引擎不同的原因,查看了下我的,两引擎一模一样,

又有的说一个是int ,因为加了auto_increment后,实际变成了int undesigned,既然变成了

int undesigned那我也设置成undesigned,再插入,错误依旧,

最后 我想到了上面的department表中的id,只是整形,可能不唯一,

然后加上了 primary key

再次试验,发现能正常创建表

这里的具体原理是什么还没搞清楚,上面的也只是猜测,特此记录

如果找到原因再更新!

更新:

https://stackoverflow.com/questions/22013511/mysql-error-1215-hy000-cannot-add-foreign-key-constraint

也就是说我上面 的猜测是正确的!

看看对unique的测试:

转自:http://www.cnblogs.com/Andy963/p/7634537.html

以上要注意的就是最后一点原因外键必须是另一个表的主键或者唯一键(即要不把那个列设为主键要不就建立一个唯一索引)

powerdesigner建立主键不再介绍,建立唯一索引的步骤如下

选择某列为unique index即可。

至于外键的建立如下:

双击表与表之间的连接线

mysql 1215_mysql执行带外键的sql文件时出现mysql ERROR 1215 (HY000): Cannot add foreign key constraint的解决...相关推荐

  1. mysql添加外键报错:ERROR 1215 (HY000): Cannot add foreign key constrain

    最后再补一句,主键表和外键表编码类型也要一样!!!!!! +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ...

  2. 添加外键报错`Cannot add foreign key constraint`的解决方法

    报错原因一般可能是如下情况 两张表里要设主键和外键的字段的数据类型或者数据长度不一样(例如这个是int,另外一个是bigint,或者都是int,但是设置的长度不同)原谅我就是忘记了这个才总是出错 其中 ...

  3. mysql添加外键1215错误_MySQL添加外键时报错:1215 Cannot add the foreign key constraint的解决方法...

    前言 这篇文章主要涉及到在数据创建表时,遇到ERROR 1215 (HY000): Cannot add foreign key constraint 问题方面的内容,对于在数据创建表时,遇到同样问题 ...

  4. mysql 导入数据 1215,导入sql出现:#1215 – Cannot add foreign key constraint错误的解决办法...

    今天在数据库后台导入一个mysql文件时,出现了:1215 – Cannot add foreign key constraint这样的错误提示. 百度了一下,网友们给出的解决办法一般是这样的: 外键 ...

  5. mysql添加外键约束失败cannot add foreign key constraint

    一般来说出现此种错误的要注意是否有如下情况发生: 1.外键字段不能为该表的主键 2.外键字段参考字段必须为参考表的主键 3.字段数据类型必须一致 4.数据库表引擎必须一致 5.字符集和排序规则必须一致 ...

  6. Navicat cannot add foreign key constraint或者添加外键后不显示

    首先我们要明确不能添加外键的原因有很多种,我遇到的也只是其中一种在这里分享出来.如果能帮到大家就再好不过了. 右键->设计表. 检查你的数据库引擎是什么, 因为我建的表数据库默认引擎是MyISA ...

  7. mysql数据库的创建外键_Mysql表创建外键报错解决方案

    数据库表A: CREATE TABLE task_desc_tab ( id INT(11) PRIMARY KEY NOT NULL COMMENT '自增主键' AUTO_INCREMENT, t ...

  8. mysql外键约束脚本_如何在MySQL中设置外键约束

    (1) 外键的使用: 外键的作用,主要有两个: 一个是让数据库自己通过外键来保证数据的完整性和一致性 一个就是能够增加ER图的可读性 有些人认为外键的建立会给开发时操作数据库带来很大的麻烦.因为数据库 ...

  9. 在mysql中如何添加外键约束_如何在MySQL中设置外键约束

    (1) 外键的使用: 外键的作用,主要有两个: 一个是让数据库自己通过外键来保证数据的完整性和一致性 一个就是能够增加ER图的可读性 有些人认为外键的建立会给开发时操作数据库带来很大的麻烦.因为数据库 ...

最新文章

  1. Codeigniter 利用加密Key(密钥)的对象注入漏洞
  2. 设计模式(八)之单例模式
  3. led显示屏p10参数设置_LED显示屏全彩P10的详细参数及说明
  4. xhost display 详解
  5. 对比特币勒索病毒进行批量安装永恒之蓝补丁
  6. MiniFrameworkPHP开源框架
  7. SqlServer系列笔记——数据类型转换
  8. pytest测试框架4-插件与hook函数
  9. axis2 java.net.url_axis2调用.net写的webservice接口实现,指定参数名
  10. 西南科技大学OJ题 单链表中信息的分类1039
  11. 完美.PCK文件不完全详解
  12. 白盒测试技术—逻辑覆盖方法
  13. 如何把.bat文件设置为开机自动启动?
  14. OCUI界面设计:导航控制器
  15. Tableau可视化项目
  16. 十大知识领域 5大管理过程 47个子过程
  17. 时间戳 与 Unix时间戳
  18. CVPR2019 Learning to Reduce Dual-level Discrepancy for Infrared-Visible Person Re-identification
  19. python读取json数据的key值_jquery中怎么获取json的key值?
  20. Adobe cs3问题解决方案

热门文章

  1. 3D 真的很难吗,瞧瞧支付宝怎么做?
  2. 如何在 Apache Flink 中使用 Python API?
  3. Gartner:2019年公有云服务六大趋势
  4. 在Data Lake Analytics中使用视图 1
  5. 阿里云产品头条(2018年1月刊)
  6. 阿里云启动API创新大赛 设视频技术为场景赛题
  7. AWS 专家教你使用 Spring Boot 和 DJL ,轻松搭建企业级机器学习微服务!
  8. 行,Python玩大了!​取代Excel,程序员:太牛!你怎么看?
  9. 数据中台送到家 企业数字化转型“输血”变“造血”
  10. 【不吹不黑】详解容器技术架构、网络和生态