iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >Mysql表创建外键报错解决方案
  • 629
分享到

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

Mysql创建外键报错 2022-05-23 00:05:09 629人浏览 八月长安
摘要

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

数据库表A:


CREATE TABLE task_desc_tab
(
  id INT(11) PRIMARY KEY NOT NULL COMMENT '自增主键' AUTO_INCREMENT,
  <strong>taskname</strong> VARCHAR(200) NOT NULL COMMENT '任务名字',
  sqlname VARCHAR(20) NOT NULL COMMENT 'sql文件名字',
  params VARCHAR(5000) NOT NULL COMMENT '任务参数,格式为一个JSON字符串',
  updatetime TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间',
  detail VARCHAR(3000) COMMENT '任务一些描述信息,只是备注信息作用'
)
 ENGINE = InnoDB
 DEFAULT CHARSET = utf8;

数据库B:


CREATE TABLE exec_plan_tab
(
  id INT(11) PRIMARY KEY NOT NULL AUTO_INCREMENT,
  <strong>taskname</strong> VARCHAR(200) NOT NULL,
  startdate DATE NOT NULL,
  enddate DATE NOT NULL,
  updatetime TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  CONSTRAINT exec_plan_tab_task_desc_tab_taskname_fk FOREIGN KEY (taskname) REFERENCES task_desc_tab (taskname)
)
 ENGINE = InnoDB
 DEFAULT CHARSET = utf8;

目标:创建表使得表B中的taskname为外键,参考表A中的taskname字段,创建表发现报错如下:

[2018-07-19 15:02:29] [HY000][150] Create table 'daxin/#sql-5d_30' with foreign key constraint failed. There is no index in the referenced table where the referenced columns appear as the first columns.
[2018-07-19 15:02:29] [HY000][1215] Cannot add foreign key constraint
[2018-07-19 15:02:29] [HY000][1215] Cannot add foreign key constraint 

经过排查找到问题原因: 表A中的taskname必须使用UNIQUE字段修饰,这样保证记录唯一性,当表B参考时候不会出现歧义。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持自学编程网。

您可能感兴趣的文档:

--结束END--

本文标题: Mysql表创建外键报错解决方案

本文链接: https://www.lsjlt.com/news/9805.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

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

下载Word文档
猜你喜欢
  • MySQL中创建外键出现报错如何解决
    本篇文章为大家展示了MySQL中创建外键出现报错如何解决,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。 mysql> create...
    99+
    2024-04-02
  • MySQL创建表格报错怎么解决
    在MySQL创建表格时报错通常是由于语法错误或者数据类型不匹配引起的。以下是一些常见的解决方法: 检查语法错误:请仔细检查CRE...
    99+
    2024-05-13
    mysql
  • mysql创建表外键怎么写
    在 mysql 中,可通过以下步骤创建表外键:创建父表和子表,并确保父表存在相应列。使用 foreign key 约束将子表中的列与父表中的列关联。可选地指定级联操作,定义删除或更新父表...
    99+
    2024-04-22
    mysql
  • 【MySQL8.0】创建外键时报错:3780
    现象描述: 今天在给两个表建立外键约束时,报了3780的错误--具体描述如下: Referencing column 'COMMENT_ID' and referenced column 'ID' in foreign key cons...
    99+
    2023-10-20
    mysql Powered by 金山文档
  • mysql创建临时表报错怎么解决
    当MySQL创建临时表时报错,可能存在以下几种解决方案: 检查SQL语句是否正确:确保CREATE TEMPORARY TABL...
    99+
    2024-04-09
    mysql
  • mysql创建外键报错的原因及解决(can't not create table)
    目录mysql创建外键不成功的原因及处理方法第一种情况第二种情况第三种情况第四种情况第五种情况第六种情况第七种情况第八种情况第九种情况最近在玩数据库的时候,偶尔会有外键创建不成功的时...
    99+
    2024-04-02
  • mysql创建表设置表主键id从1开始自增的解决方案
    目录一.问题描述二.解决方案1.实现步骤2.演示总结一.问题描述 当我们在做项目的时候,创建一张用户表,如何让该表的主键id从0开始自增?网上搜索了很多解决方案,最后发现了一种方法必实现且有效的方案。下面就来介绍实现方法...
    99+
    2023-04-19
    mysql中如何让主键的自增为1 mysql创建自增主键 mysql怎么设置主键
  • mysql创建表时怎么添加外键
    在MySQL中添加外键时,需要使用FOREIGN KEY关键字来指定外键约束。以下是一个示例创建表并添加外键的SQL语句: CREA...
    99+
    2024-04-09
    mysql
  • mysql创建表外键约束怎么写
    在 mysql 中创建表外键约束可确保参照完整性。步骤如下:创建两个表并指定主键。在子表中添加 foreign key 约束,引用父表的主键。可选择指定引用操作(例如级联删除或限制更新)...
    99+
    2024-04-22
    mysql
  • mysql创建表时怎么设置外键
    在MySQL中,设置外键需要使用FOREIGN KEY关键字。首先,需要确保两个表都已经创建。然后,在创建表时,可以在列的定义中使用...
    99+
    2023-09-26
    mysql
  • 如何解决MySQL报错:无法创建表,表已存在
    当MySQL报错提示“无法创建表,表已存在”时,说明要创建的表名在数据库中已经存在了。解决这个问题有两种方法:1. 更改表名:可以尝...
    99+
    2023-10-10
    MySQL
  • MySQL创建数据表并建立主外键关系详解
    前言 为mysql数据表建立主外键需要注意以下几点: 需要建立主外键关系的两个表的存储引擎必须是InnoDB。 外键列和参照列必须具有相似的数据类型,即可以隐式转换的数据类型。 外键列和参照列...
    99+
    2024-04-02
  • MySQL:创建数据库,数据表,主键和外键
    目录 前言: 安装MySQL: 打开MySQL: 创建数据库: 查看已建数据库: 查看数据库引擎: 创建数据表:  主键约束: 单字段主键: 多字段联合主键: 外键约束: 前言: MySQL数据库安装了很久,一直也没静下心来学习,因为起...
    99+
    2023-10-18
    mysql 数据库
  • mysql创建表怎么设置外键关联
    在MySQL中,可以通过在创建表时使用FOREIGN KEY关键字来设置外键关联。下面是一个示例:```sqlCREATE TABL...
    99+
    2023-08-30
    mysql
  • 怎么解决mysql外键创建失败的问题
    这篇文章主要讲解了“怎么解决mysql外键创建失败的问题”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么解决mysql外键创建失败的问题”吧!创建pers...
    99+
    2024-04-02
  • mysql创建外键约束不成功怎么解决
    创建外键约束不成功可能有多种原因,以下是一些可能的解决方法: 检查表结构:确保要创建外键约束的两个表的字段类型和长度必须完全相同...
    99+
    2024-04-09
    mysql
  • 如何解决MySQL报错:无法创建表,错误编号:121
    MySQL报错:无法创建表,错误编号:121通常是由于表定义中的某些约束条件冲突导致的。要解决这个问题,可以按照以下步骤进行:1. ...
    99+
    2023-10-10
    MySQL
  • 如何解决MySQL报错:无法创建表,错误编号:150
    MySQL报错:无法创建表,错误编号:150通常是由于外键约束导致的。解决此问题,可以按照以下步骤进行操作:1. 检查表之间的关系:...
    99+
    2023-10-18
    MySQL
  • 如何解决MySQL报错:无法创建表,错误编号:139
    MySQL报错:无法创建表,错误编号:139 是由于创建表时的语法错误导致的。解决方法如下:1. 检查创建表的语法是否正确,包括表名...
    99+
    2023-10-18
    MySQL
  • mysql创建外键的方法是什么
    在MySQL中创建外键的方法如下: 1、在创建表时指定外键约束。例如,假设我们有两个表,一个是students表,另一个是cours...
    99+
    2024-03-07
    mysql
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作