mysql添加外键1215错误_MySQL添加外键时报错:1215 Cannot add the foreign key constraint的解决方法...
前言
这篇文章主要涉及到在数据创建表时,遇到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的解决方法...相关推荐
- 添加外键报错`Cannot add foreign key constraint`的解决方法
报错原因一般可能是如下情况 两张表里要设主键和外键的字段的数据类型或者数据长度不一样(例如这个是int,另外一个是bigint,或者都是int,但是设置的长度不同)原谅我就是忘记了这个才总是出错 其中 ...
- 关于mysql添加外键的时候报错_MySQL添加外键时报错:1215 Cannot add the foreign key constraint的一个可能解决方法...
今天给设计好的班级表和专业表以及院系表添加外键时,报了这样一个错误 ** 1215 Cannot add the foreign key constraint ** 去百度搜了一圈,说可能时因为字段类 ...
- mysql 1215_mysql执行带外键的sql文件时出现mysql ERROR 1215 (HY000): Cannot add foreign key constraint的解决...
ERROR 1215 (HY000): Cannot add foreign key constraint 最近在建表时遇到了这个错误,然后找了下找到了解决办法,记录下: 本来是要建两张表: 出现下面 ...
- cannot add foreign key constraint mysql_解决1215 - cannot add foreign key constraint
1215 - cannot add foreign key constraint发生在为数据表添加外键时,一旦发生,还是挺痛苦的.在此,参考相关文章及本人经验做一下总结: 情况一:数据表存储引擎不一致 ...
- Mysql 建立外键出错1822 可能原因之一分析 - Failed to add the foreign key constraint. Missing index for constraint
项目场景: 通过sql语言在MySQL查询中建立表,其中一个表引用其他表的属性出现问题报错1822 问题描述 被引用的表--用户信息表: 可以看到其中已有主键s_id,为自增长形式 CREATE TA ...
- 【mysql问题】foreign key without name 解决方法
原问题 一开始的输入为 create table sc (sno VARCHAR(7) not null , cno VARCHAR(7) not null, grade VARCHAR(3), pr ...
- MySQL遇到错误:1217 - Cannot delete or update a parent row: a foreign key constraint fails
遇到问题 今天在准备"删库跑路"的时候,有的数据表再删除的时候报了以下错误: 1217 - Cannot delete or update a parent row: a fore ...
- mysql添加外键出现1452错误_MySQL添加外键失败ERROR 1452的解决
今天在学习数据库添加外键的时候,遇到了问题 我先创建了两个表 orders 和 order_items ,存储引擎都是InnoDB, 且都有orderid这个属性(类型完全一样), 但是我使用命令 ...
- mysql 导入数据 1215,导入sql出现:#1215 – Cannot add foreign key constraint错误的解决办法...
今天在数据库后台导入一个mysql文件时,出现了:1215 – Cannot add foreign key constraint这样的错误提示. 百度了一下,网友们给出的解决办法一般是这样的: 外键 ...
最新文章
- 王炸养成记——看Linux 25周年发展变化
- 二维数组的对角搜索C++
- nginx 免安装包
- flash 语法 入门
- (转) Spring读书笔记-----Spring的Bean之配置依赖
- C++新特性探究(二):override、final
- ubuntu使用python_Ubuntu+Python环境配置(III)—用Python
- Web Developer——瑞士军刀一样的FF插件
- 50、多线程创建的三种方式之实现Runnable接口
- vue点击按钮打开下拉菜单_vue 点击弹出下拉菜单 点击其他页面收回菜单
- Delete `␍`eslintprettier/prettier
- 论外挂入门(辅助入门)图色辅助与内存辅助的优与弊
- python的计算_python计算smoothed PSSM(二)
- 拼装机器人感想_机器人实验心得体会
- 泰坦尼克 (有剧透)
- Excel宏的录制与调用
- Mybatis-Plus根据时间段去查询数据
- RMM Level -- 对于REST的层级划分模型
- excel下拉菜单创建
- 生日悖论分析基于python