文档章节

解决“Cannot add foreign key constraint”

y
 yestreenstars
发布于 2017/06/29 10:11
字数 151
阅读 54
收藏 0

今天在添加外键时出现报错:“Cannot add foreign key constraint”,折腾一番后找到了原因,特此记录一下。

现有以下两张表:

表名 主键
responsemessage id
requestmessage id

现需要给responsemessage表添加外键:

alter table `test`.`responsemessage` add constraint `FK_responsemessage` FOREIGN KEY (`userid`) REFERENCES `requestmessage` (`userid`)

结果出现了报错:

Cannot add foreign key constraint

经过一番折腾,找到了原因:

  1. 两个表的“userid”字段的类型不同;
  2. 被关联的requestmessage表的“userid”字段不是索引。

我的情况属于第2种,所以我只需给requestmessage表添加userid索引即可。

© 著作权归作者所有

y
粉丝 0
博文 38
码字总数 13326
作品 0
深圳
私信 提问
数据库建表

我想在一个字段上添加两个外键,建表是成功了,可是数据插入的时候就报错了。 报错如下: [Err] 1452 - Cannot add or update a child row: a foreign key constraint fails (`gascrm`.`r_c...

落后君丶
2018/06/05
200
2
ORA-02270: 此列列表的唯一关键字或主键不匹配一些思路

查看两个表的结构 SQL> describe student; Name Type Nullable Default Comments ------------ ------------ -------- ------- -------- ID NUMBER(10) TEACHER_ID NUMBER(10) Y STUDENT_NAM......

长路慢
2018/01/03
0
0
sql语句建约束出错了,大家帮忙排一下,谢谢哈

create table Orders ( OrderID char(5) primary key not null, OrderName varchar(30) not null, OrderDate smalldatetime not null, RequiredDate smalldatetime , Amount numeric(12,2) d......

李争献
2013/03/30
121
1
MySQL外键关联(创世纪新篇)

数据库外键 01.mysql> show create table countryG 02.* 1. row * 03. Table: country 04.Create Table: CREATE TABLE ( 05. smallint(5) unsigned NOT NULL auto_increment, 06. varchar(50......

crossmix
2015/09/25
78
0
S​q​l​ ​s​e​r​v​e​r​2008 高版本转低版本-Sql_server高版本数据迁移

这个方法关键是如何确保保留原有表结构的主键、外键等分两个情况,对于数据库数据量小的,可以很方便的解决。 第一种:小数据的情况 1.先在低版本的服务器上建立同名的数据库。 2.在高版本的...

donny945
2014/06/25
313
0

没有更多内容

加载失败,请刷新页面

加载更多

Spring使用ThreadPoolTaskExecutor自定义线程池及实现异步调用

多线程一直是工作或面试过程中的高频知识点,今天给大家分享一下使用 ThreadPoolTaskExecutor 来自定义线程池和实现异步调用多线程。 一、ThreadPoolTaskExecutor 本文采用 Executors 的工厂...

CREATE_17
今天
5
0
CSS盒子模型

CSS盒子模型 组成: content --> padding --> border --> margin 像现实生活中的快递: 物品 --> 填充物 --> 包装盒 --> 盒子与盒子之间的间距 content :width、height组成的 内容区域 padd......

studywin
今天
7
0
修复Win10下开始菜单、设置等系统软件无法打开的问题

因为各种各样的原因导致系统文件丢失、损坏、被修改,而造成win10的开始菜单、设置等系统软件无法打开的情况,可以尝试如下方法解决 此方法只在部分情况下有效,但值得一试 用Windows键+R打开...

locbytes
昨天
8
0
jquery 添加和删除节点

本文转载于:专业的前端网站➺jquery 添加和删除节点 // 增加一个三和一节点function addPanel() { // var newPanel = $('.my-panel').clone(true) var newPanel = $(".triple-panel-con......

前端老手
昨天
8
0
一、Django基础

一、web框架分类和wsgiref模块使用介绍 web框架的本质 socket服务端 与 浏览器的通信 socket服务端功能划分: 负责与浏览器收发消息(socket通信) --> wsgiref/uWsgi/gunicorn... 根据用户访问...

ZeroBit
昨天
10
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部