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表创建外键报错解决方案
本文地址: http://www.cppcns.com/shujuku/mysql/345710.html
mysql数据库的创建外键_Mysql表创建外键报错解决方案相关推荐
- mysql版本更新之后忘记登录密码_MySQL 密码遗忘和登陆报错问题
mysql登录密码忘记,其实解决办法很简单,只需要在mysql的主配置文件my.cnf里添加一行"跳过授权表"的参数选择即可! 在my.cnf中添加下面一行: [root@test ...
- mysql 数据库gbk转utf8 乱码_mysql表utf8编码,内容gbk编码的乱码转换
今天遇到一个数据库库是utf8,表也是utf8,但内容是gbk的问题,出现了中文乱码 第一步 先把所有的表copy一份,比如表名叫 user,copy一份光表结构的,叫user2: 第二步 把表中 ...
- vsftpd 创建虚拟用户,添加黑名单 常见550 500报错解决方案
1 安装vsftpd yum install -y vsftpd ftp 2 配置vsftpd 创建宿主用户 useradd ftpuser 备份vsftpd.conf文件 mv /etc/vsftp ...
- mysql创建外键的表_Mysql表创建外键报错解决方案
Mysql表创建外键报错解决方案,字段,名字,数据库,更新时间,歧义 Mysql表创建外键报错解决方案 易采站长站,站长之家为您整理了Mysql表创建外键报错解决方案的相关内容. 数据库表A: CRE ...
- Mysql数据库基本操作(六)多表查询-内连接查询,外连接查询
数据准备 use mydb3 ; --创建部门表 create table if not exists dept3 ( deptno varchar (20) primary key , --部门号 ...
- mysql设置外键_mysql怎么增加外键
mysql增加外键的方法:1.在CREATE TABLE语句中,通过FOREIGN KEY关键字来添加外键:2.在ALTER TABLE语句中,通过ADD和FOREIGN KEY关键字来添加外键. M ...
- MySQL数据库 第5章:单表操作
MySQL数据库 第5章:单表操作 5.1 数据操作 5.1.1 复制表结构和数据 5.1.2 解决主键冲突 5.1.3 清空数据 5.1.4 去除重复记录 5.2 排序与限量 5.2.1 排序 5. ...
- 人员考勤,MySQL数据库一个表自动生成3表筛选人员迟到早退缺勤
人员考勤,MySQL数据库一个表自动生成3表筛选人员迟到早退缺勤 </h1><div class="clear"></div><div c ...
- Mysql数据库基本操作(七)多表查询-子查询,表自身关联查询
多表查询还有前面的两块内容--内连接查询,外连接查询,希望看到这篇博客的朋友先去看看我的"Mysql数据库"专栏中Mysql数据库基本操作(六)多表查询-内连接,外连接这一章博客, ...
最新文章
- 定制开发软件所有权_职业所有权软件开发人员指南
- Microsoft COCO 数据集
- 思科路由器MTU及ip tcp adjust-mss测试
- SpringMVC列表不展示数据
- Hacker's Browser
- 值得一读的《框架设计(第2版):CLR Via C#》
- 牛客ACM赛 B [小a的旅行计划 ]
- 存储过程系列之存储过程具体操作过程及sql数据库调用
- 转-测试用例-基本控件
- Android 中 Activity 的生命周期
- 基于java SSM图书管理系统简单版设计和实现
- Qt:Qt使用鼠标模拟函数mouse_event和按键模拟函数keybd_even实现网页刷新功能
- php复制重叠字符串,PHP如何在复制字符串中的每个字符后“重复”字符串(恢复字符串)...
- 2017-2018-1 20155229 《信息安全系统设计基础》第八周学习总结
- 微信小程序篇(笔记1:wxParse富文本解析的使用)
- 家用linux 版本哪个好,Ubuntu到底哪个版本最好用?
- guet-acm-开挂的chair
- python打印的时候print(f“*******“) 的括号里的 f‘ ‘ 是什么意思 ?
- nginx配置选项try_files详解
- JCL,JES运作流程
热门文章
- Netty工作笔记0031---NIO零拷贝应用案例
- java零碎要点013---JAVA执行js_java执行JavaScript_java执行js引擎不能识别document浏览器内置对象解决办法
- fckeditor异常总结---The server didn‘t reply with a proper XML data. Please check your configuration.
- 杭电1978 How many ways
- java容器分数0-9_2018.4.27 java容器
- java access 2013_jdk1.8环境下的java如何直连接microsoft access2013(都是64位系统也是)...
- 从电子电路到嵌入式系统(开篇)
- linux驱动编写(设备树)
- 深度学习实践与部署(开篇)
- 嵌入式操作系统内核原理和开发(消息队列)