我的编程空间,编程开发者的网络收藏夹
学习永远不晚

【MySQL8.0】创建外键时报错:3780

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

【MySQL8.0】创建外键时报错:3780

现象描述:

今天在给两个表建立外键约束时,报了3780的错误--具体描述如下:

Referencing column 'COMMENT_ID' and referenced column 'ID' in foreign key constraint 'REP_COM' are incompatible.

意思就是,主表ID和从表的COMMENT_ID这一列不兼容

这里附上两张表此字段的设置,主表:

从表:

解决办法:

资料(《mysql数据库应用案例教程》)提到mysql建立外键约束时应注意的点:

  1. 主表和从表必须使用InnoDB存储引擎

  1. 设置外键约束的字段和关联的主键必须具有相同的数据类型。

  1. 整数类型的大小和符号必须相同;

  1. 字符串类型的长度可以不相同,但对于非二进制字符串,字符集和排序规则必须相同。

根据以上注意点寻找病因,发现从表comment_id字段设置了无符号约束,而主表id字段没有设置,于是将主表id也设置了无符号约束后,再建立外键,成功!!!💅💅💅

来源地址:https://blog.csdn.net/Evanna_Yi/article/details/129044516

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

【MySQL8.0】创建外键时报错:3780

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Mysql表创建外键报错解决方案

数据库表A:CREATE TABLE task_desc_tab (id INT(11) PRIMARY KEY NOT NULL COMMENT '自增主键' AUTO_INCREMENT,taskname
2022-05-23

MariaDB 在创建外键的时候提示 1005 错误

在 MariaDB 中的表创建外键的时候提示错误: SQL Error (1005): Can"t create table `edx`.`TestBankAnswer` (errno: 150 "Foreign key constraint is incor
MariaDB 在创建外键的时候提示 1005 错误
2022-03-09

mysql创建表时怎么添加外键

在MySQL中添加外键时,需要使用FOREIGN KEY关键字来指定外键约束。以下是一个示例创建表并添加外键的SQL语句:CREATE TABLE table1 (id INT PRIMARY KEY,name VARCHAR(50))
mysql创建表时怎么添加外键
2024-04-09

mysql创建表时怎么设置外键

在MySQL中,设置外键需要使用FOREIGN KEY关键字。首先,需要确保两个表都已经创建。然后,在创建表时,可以在列的定义中使用FOREIGN KEY关键字来设置外键。以下是一个示例,展示如何创建一个包含外键的表:CREATE TABL
2023-09-26

mysql创建临时表报错怎么解决

当MySQL创建临时表时报错,可能存在以下几种解决方案:检查SQL语句是否正确:确保CREATE TEMPORARY TABLE语句的语法正确,包括表名、字段名、数据类型等是否正确。检查权限:确保当前用户拥有创建临时表的权限。如果没有权限,
mysql创建临时表报错怎么解决
2024-04-09

解决 VMware 创建虚拟机时 unsuccessful报错

VMware创建虚拟机的时候遇到一个经典报错:Attempting to start up from:EFI VMware Virtual SCSI Hard Drive (0.0) … unsuccessful.EFI VMware Vi
2023-06-03

Java创建对象时报错怎么解决

在Java中,当创建对象时报错可能有多种原因。下面是一些常见的解决方法:1. 检查类的构造函数:确保类中有一个合适的构造函数,并且在创建对象时使用正确的参数。2. 检查类路径:如果你正在使用外部类库或模块,确保它已经正确地添加到你的类路径中
2023-10-11

sql创建临时表报错怎么解决

在 SQL 中创建临时表时可能会出现一些常见的报错,其中一些可能是由于语法错误或权限问题引起的。以下是一些常见的解决方法:检查语法错误:确保 SQL 语句中的临时表名称、字段名称和数据类型等都是正确的。如果出现语法错误,可以尝试根据报错信息
sql创建临时表报错怎么解决
2024-04-09

mysql新建外键时1215 - Cannot add foreign key constraint错误处理

1、问题背景 用Navicat在新建表的外键时,弹出如下窗口 2、问题原因 出现上面的的报错,有如下几个因素: (1)外键对应的字段数据类型不一致 (2)设置外键时“删除时”设置为“SET NULL” (3)两张表的存储引擎不一致 3、处
2023-08-16

解决创建主键报错:Incorrect column specifier for column id问题

目录创建主键报错非要使用varchar的话总结创建主键报错Incorrect column specifier for column‘id’mysql使用语句创建表将一个字段属性设置主键时,javascript该
解决创建主键报错:Incorrect column specifier for column id问题
2024-08-21

mysql创建临时表报错的原因有哪些

创建临时表报错的原因可能有以下几种:临时表已存在:如果同名的临时表已经存在于当前数据库中,尝试再次创建同名的临时表将会报错。表名或列名不符合规范:表名和列名需要遵循MySQL的命名规范,例如不能包含特殊字符、关键字以及长度限制等。数据库
mysql创建临时表报错的原因有哪些
2024-04-09

编程热搜

目录