mysql 1215错误——外键建立失败
来源:互联网 发布:linux编辑文件不保存 编辑:程序博客网 时间:2024/05/23 11:30
在Mysql中创建数据表时,经常会遇到问题而失败,其中建立外键有很多细节需要我们去留意,主要有以下几种常见原因。
1. 两个字段的类型或者大小不严格匹配。例如,如果一个是int(10),那么外键也必须设置成int(10),而不是int(11),也不能是tinyint。另外,你还必须确定两个字段是否都为signed或者unsigned,这两字段必须严格地一致匹配。
2. 设置外键的字段没有建立起索引,或者不是一个primary key(主键)。一般,需要建立外键的数据表称为子表,而相关联的数据表称为父表。建立外键时所对应的父表的字段必须要创建索引primary key。
3. 其中一个或者两个表是MyISAM引擎的表。若想要使用外键约束,表必须是InnoDB引擎(实际上,如果两个表都是MyISAM 引擎的,这个错误根本不会发生,但也不会产生外键,只会建立索引)你需要检查表的引擎类型。
4. 外键的名字不能重复。检查该数据库确保外健名字是唯一的,或者你可以在键名后面加上几个随机的字符以测试是否为此原因。
5. 设置了ON DELETE SET NULL,但是相关的键的字段设置成了NOT NULL值。通过修改外键的属性值或者把字段属性设置成allow null来解决。
6. 确保你的Charset和Collate选项在表级和字段级上的一致。
7. 两字段设置的默认值不一致。一个字段设置default为0,一个设置default为null,也是不可行的。
8. ALTER声明中有语法错误
当出现错误时,仔细检查数据库表和字段的设计。我更建议大家尽量使用工具来设计和创建数据库,这样能减少出错的概率。
- mysql 1215错误——外键建立失败
- MySQL 外键建立错误
- mysql数据库建立外键老是失败?
- MYSQL 建立外键关联错误
- MySQL 关于建立外键失败的问题
- MYSQL建立外键失败几种情况记录Can’t create table。。。。
- 【原】+【转】MYSQL建立外键失败几种情况记录
- MYSQL建立外键失败几种情况记录Can't create table不能创建表
- mysql建立外键
- mysql如何建立外键
- mysql如何建立外键
- mysql命令建立外键
- MYSQL数据表建立外键
- mysql建立外键约束
- mysql外键无法建立
- MySQL 新建数据库、建立索引、建立外键
- mysql 函数调用或建立时错误
- Mysql登录失败错误(10061)解决办法
- 检测当前鼠标点击的是UI的代码
- mysql---存储数据
- 英语学习总结—破枪式—学习困惑—2016年12月20日
- 毕向东笔记摘抄之多线程
- STL-priority_queue
- mysql 1215错误——外键建立失败
- JQ实现放大镜效果
- tensorflow学习笔记(二十一):tensorflow可视化
- JS 中的 真 与 假
- 浅谈<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- 安装第三方库出现 Python version 2.7 required, which was not found in the registry解决方法
- 使用VC++操作Excel文件 - [Ole]
- 微信硬件蓝牙jsapi开发之sendDataToWXDevice接口和onReceiveDataFromWXDevice接口(11)
- AngularJS依赖注入常用对象注入器 $injector常用API方法,get、has、invoke