前言

这篇文章主要涉及到在数据创建表时,遇到ERROR 1215 (HY000): Cannot add foreign key constraint 问题方面的内容,对于在数据创建表时,遇到同样问题感兴趣的同学可以参考一下。

一、问题的提出

创建两个表:

product:  商品表

sealer:  供货商表

相应的SQL如下:

product表:

DROP TABLE IF EXISTS `product`;

CREATE TABLE `product` (

`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,

`name` varchar(20) NOT NULL COMMENT 'product name',

`price` float(10,3) NOT NULL,

`description` varchar(20) DEFAULT NULL,

`count` int(11) NOT NULL DEFAULT '0',

`sid` int(11) NOT NULL,

PRIMARY KEY (`id`),

UNIQUE KEY `id_index` (`id`) USING HASH,

UNIQUE KEY `sid_index` (`sid`) USING HASH

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

sealer表:

DROP TABLE IF EXISTS `sealer`;

CREATE TABLE `sealer` (

`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,

`name` varchar(30) NOT NULL,

`city` varchar(255) DEFAULT NULL,

`created_time` datetime DEFAULT NULL,

`updated_time` datetime DEFAULT NULL,

`level` int(11) NOT NULL DEFAULT '0',

`description` varchar(40) DEFAULT NULL,

PRIMARY KEY (`id`),

UNIQUE KEY `id_index_1` (`id`) USING HASH

) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8;

接下来我们需要关联product.sid 至 sealer.id,进行父子表的主外键关联。

二、碰到错误

在创建外键之时,使用的SQL和碰到错误信息如下:

alter table `product' add CONSTRAINT `sid_ref` FOREIGN KEY (`sid`) REFERENCES `sealer` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION

碰到的错误信息如下:

无法正确的插入外键约束。

3、问题分析

主外键更多的是某表的主键与子表的某个列进行关联,要求是具备相同的数据类型和属性,问题会不会出现在这里?

要求: 具备相同的数据类型和约束

发现:   unsigned,数字的字符长度不一致。

4、解决的办法

修改product.sid中的数据类型,添加unsigned和字段的长度,将其设置为相同即可。

总结

之所以出现1215的问题,是由于主外键之间的数据类型不一致造成的,以后类似问题,皆可按此处理。以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。谢谢大家对脚本之家的支持。

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

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

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

  2. 关于mysql添加外键的时候报错_MySQL添加外键时报错:1215 Cannot add the foreign key constraint的一个可能解决方法...

    今天给设计好的班级表和专业表以及院系表添加外键时,报了这样一个错误 ** 1215 Cannot add the foreign key constraint ** 去百度搜了一圈,说可能时因为字段类 ...

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

    ERROR 1215 (HY000): Cannot add foreign key constraint 最近在建表时遇到了这个错误,然后找了下找到了解决办法,记录下: 本来是要建两张表: 出现下面 ...

  4. cannot add foreign key constraint mysql_解决1215 - cannot add foreign key constraint

    1215 - cannot add foreign key constraint发生在为数据表添加外键时,一旦发生,还是挺痛苦的.在此,参考相关文章及本人经验做一下总结: 情况一:数据表存储引擎不一致 ...

  5. Mysql 建立外键出错1822 可能原因之一分析 - Failed to add the foreign key constraint. Missing index for constraint

    项目场景: 通过sql语言在MySQL查询中建立表,其中一个表引用其他表的属性出现问题报错1822 问题描述 被引用的表--用户信息表: 可以看到其中已有主键s_id,为自增长形式 CREATE TA ...

  6. 【mysql问题】foreign key without name 解决方法

    原问题 一开始的输入为 create table sc (sno VARCHAR(7) not null , cno VARCHAR(7) not null, grade VARCHAR(3), pr ...

  7. MySQL遇到错误:1217 - Cannot delete or update a parent row: a foreign key constraint fails

    遇到问题 今天在准备"删库跑路"的时候,有的数据表再删除的时候报了以下错误: 1217 - Cannot delete or update a parent row: a fore ...

  8. mysql添加外键出现1452错误_MySQL添加外键失败ERROR 1452的解决

    今天在学习数据库添加外键的时候,遇到了问题 我先创建了两个表  orders 和 order_items  ,存储引擎都是InnoDB, 且都有orderid这个属性(类型完全一样), 但是我使用命令 ...

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

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

最新文章

  1. 王炸养成记——看Linux 25周年发展变化
  2. 二维数组的对角搜索C++
  3. nginx 免安装包
  4. flash 语法 入门
  5. (转) Spring读书笔记-----Spring的Bean之配置依赖
  6. C++新特性探究(二):override、final
  7. ubuntu使用python_Ubuntu+Python环境配置(III)—用Python
  8. Web Developer——瑞士军刀一样的FF插件
  9. 50、多线程创建的三种方式之实现Runnable接口
  10. vue点击按钮打开下拉菜单_vue 点击弹出下拉菜单 点击其他页面收回菜单
  11. Delete `␍`eslintprettier/prettier
  12. 论外挂入门(辅助入门)图色辅助与内存辅助的优与弊
  13. python的计算_python计算smoothed PSSM(二)
  14. 拼装机器人感想_机器人实验心得体会
  15. 泰坦尼克 (有剧透)
  16. Excel宏的录制与调用
  17. Mybatis-Plus根据时间段去查询数据
  18. RMM Level -- 对于REST的层级划分模型
  19. excel下拉菜单创建
  20. 生日悖论分析基于python

热门文章

  1. 从多张优惠券中,挑出合适组合,使其最接近手续费 —— 失效的贪心算法到改装的动态规划
  2. Java基础14 集合(重要)四种遍历方式 list 并发异常 set
  3. 对iptables进行常规操作
  4. 办公pdf转word等软件的网站--往后找到再继续更新
  5. 新冠疫苗研发的现状、发展及名录
  6. Java的匿名内部类详细解读
  7. Day 31 - 使用 Amazon API Gateway 上传图片到 S3
  8. 51单片机学习:直流电机实验
  9. 2017云栖跑为信仰而战,炫酷体验享你所享
  10. 杀毒后无法安装运行瑞星等杀毒软件的解决办法