Mysql表创建外键报错解决方案,字段,名字,数据库,更新时间,歧义

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

易采站长站,站长之家为您整理了Mysql表创建外键报错解决方案的相关内容。

数据库表A:

CREATE TABLE task_desc_tab

(

id INT(11) PRIMARY KEY NOT NULL COMMENT '自增主键' AUTO_INCREMENT,

taskname 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,

taskname 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参考时候不会出现歧义。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持易采站长站。以上就是关于对Mysql表创建外键报错解决方案的详细介绍。欢迎大家对Mysql表创建外键报错解决方案内容提出宝贵意见

mysql创建外键的表_Mysql表创建外键报错解决方案相关推荐

  1. mysql版本更新之后忘记登录密码_MySQL 密码遗忘和登陆报错问题

    mysql登录密码忘记,其实解决办法很简单,只需要在mysql的主配置文件my.cnf里添加一行"跳过授权表"的参数选择即可! 在my.cnf中添加下面一行: [root@test ...

  2. mysql数据库的创建外键_Mysql表创建外键报错解决方案

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

  3. mysql 存储过程建表_MySQL 存储过程创建表

    创建 CREATE PROCEDURE  Pro_IsExistTable(ableName varchar(100),out outputParam int) BEGIN set @csql=con ...

  4. asp.net使用post方式action到另一个页面,在另一个页面接受form表单的值!(报错,已解决!)...

    asp.net使用post方式action到另一个页面,在另一个页面接受form表单的值!(报错,已解决!) 原文:asp.net使用post方式action到另一个页面,在另一个页面接受form表单 ...

  5. selenium IE保护模式报错解决方案(使用python写注册表)

    selenium IE保护模式报错解决方案 JAVA:https://www.cnblogs.com/feifeidxl/p/4551363.html java的处理可以参考此博客,实践可行,使用的s ...

  6. 【踩坑记录】mybatis-plus的insert方法,默认会生成一个uuid作为主键,导致类型不一致,存入数据库报错

    [踩坑记录]mybatis-plus的insert方法,默认会生成一个uuid作为主键,导致类型不一致,存入数据库报错 报错记录 解决方案 推荐方案 使用uuid作为主键,修改id的类型为bigint ...

  7. kali linux 安装 Mysql Can‘t read from messagefile 报错解决方案

    kali linux 安装 Mysql Can't read from messagefile 报错解决方案 参考文章: (1)kali linux 安装 Mysql Can't read from ...

  8. Eclipse中创建SpringBoot项目流程,及报错解决方案

    Eclipse中创建SpringBoot项目流程,及报错解决方案 参考文章: (1)Eclipse中创建SpringBoot项目流程,及报错解决方案 (2)https://www.cnblogs.co ...

  9. Mysql启动报错解决方案:Failed to open log (file ‘./mysql-bin.000901‘, errno 2)

    Mysql启动报错解决方案:Failed to open log (file './mysql-bin.000901', errno 2) 参考文章: (1)Mysql启动报错解决方案:Failed ...

最新文章

  1. Keepalived实现LVS的高可用全解析
  2. Qt Creator指定编辑器设置
  3. 如何让SAP Spartacus的非英语页面正常显示
  4. mongodb数据库显示obj_MongoDB创建和查看数据库
  5. 如何允许远程连接到MySQL
  6. 走火入魔的 C/C++ 如何通过编译器预定义的宏值来区分 target OS 是 Windows 还是 Linux...
  7. zbb20180613 Spring MVC实现大文件下载功能
  8. hdu 1556 Color the ball (线段树做法)
  9. 关于WEB ServiceWCFWebApi实现身份验证之WEB Service篇
  10. ansible 建 kubernetes 证书签名请求_Kubernetes 两步验证 - 使用 Serverless 实现动态准入控制
  11. D star路径搜索算法
  12. java的一些课程设计题目_Java课程设计
  13. Springboot毕设项目监狱管理系统xu08n(java+VUE+Mybatis+Maven+Mysql)
  14. 标准情况下绝对湿度与相对湿度excel表
  15. 在postgre数据库中,强制删除一个数据库
  16. PS各个工具的字母快捷键和英…
  17. 不恰当使用线程池处理 MQ 消息引起的故障
  18. Android11 热点配置信息保存分析
  19. Hbase与Oracle比较(列式数据库与行式数据库)
  20. A段架构师_隽语集(IT+設計思考_2001)

热门文章

  1. Python编程基础:第三十三节 文件复制Copy a File
  2. 【机器学习算法-python实现】采样算法的简单实现
  3. 库存系统难破题?京东到家来分享
  4. 使用 Spring Batch 构建企业级批处理应用
  5. 深度学习打造精准推荐系统,细说国美互联网AI发展的进击之路
  6. netflix zuul 1.x与zuul2.x之比较
  7. 百分点认知智能实验室:NLP模型开发平台在舆情分析中的设计和实践(下)
  8. 大数据分析币圈动态: ETH、BTC、BCH每秒交易均呈负增长! 以太坊网络传播时间再缩短
  9. 研究38位知名CEO的邮件后,我们有这9个发现
  10. 搜索引擎利用机器学习排序