标签:

1.  两个字段的类型或者大小不严格匹配。例如,如果一个是int(10),那么外键也必须设置成int(10),而不是int(11),也不能是tinyint。另外,你还必须确定两个字段是否一个为 signed,而另一个又是unsigned(即:无符号),这两字段必须严格地一致匹配,更多关于signed和unsigned的信息,请参阅:http://www.verysimple.com/blog/?p=57

2. 试图设置外键的字段没有建立起索引,或者不是一个primary key(主键)。如果其中一个不是primary key的话,你必须先为它创建一个索引。

3. 其中一个或者两个表是MyISAM引擎的表。若想要使用外键约束,表必须是InnoDB引擎(实际上,如果两个表都是MyISAM 引擎的,这个错误根本不会发生,但也不会产生外键,只会建立索引)你需要检查表的引擎类型。

4. 外键的名字不能重复。你应该检查你的数据库以确保外健名字是唯一的,或者你在键名后面加上几个随机的字符以测试是否是这个原因。

5. 你可能设置了ON DELETE SET NULL,但是相关的键的字段又设置成了NOTS NULL值。你可能通过修改cascade的属性值或者把字段属性设置成allow null来解决。

6. 请确定你的Charset和Collate选项在表级和字段级上的一致。

7. 你可能设置为外键设置了一个默认值,如default=0。

8. ALTER声明中有语法错误

9.确保collate的排序规则!

标签:

mysql外键排序规则_mysql创建外键出错(注意数据库表字段排序)相关推荐

  1. mysql字符集排序规则_MySQL原理 - 字符集与排序规则

    任何计算机存储数据,都需要字符集,因为计算机存储的数据其实都是二进制编码,将一个个字符,映射到对应的二进制编码的这个映射就是字符编码(字符集).这些字符如何排序呢?决定字符排序的规则就是排序规则. 查 ...

  2. linux中修改mysql排序规则_MySQL中的排序规则

    MySQL中的排序规则.在新建MySQL数据库或表的时候经常会选择字符集和排序规则.数据库用的字符集大家都知道是怎么回事,那排序规则是什么呢? 排序规则:是指对指定字符集下不同字符的比较规则.其特征有 ...

  3. mysql 中文字符排序规则_mysql中字符集和排序规则说明

    数据库需要适应各种语言和字符就需要支持不同的字符集(Character Set),每种字符集也有各自的排序规则(Collation). 一.字符集 字符集,即用于定义字符在数据库中的编码的集合. 常见 ...

  4. mysql数据排序规则_Mysql 数据库排序规则

    前言: 在新建MySQL数据库或表的时候经常会选择字符集和排序规则.数据库用的字符集大家都知道是怎么回事,那排序规则是什么呢? 排序规则:是指对指定字符集下不同字符的比较规则.其特征有以下几点: (1 ...

  5. mysql字段命名_Mysql 01—数据库表字段的命名规则

    摘要:当前测试工作为自研数据库测试,同时需要为自动化执行处理入库数据表,为让自己看起来专业些,特查找资料学习数据库的各种规范使用. 本文是一篇包含了数据库命名.数据库表命名.数据库表字段命名及SQL语 ...

  6. oracle10中文排序规则,【NLSSORT】改变Oralce 对简体汉字的排序规则(拼音、部首、笔画)...

    如果数据库字符集选用的是ZH16GBK,那么使用order by默认是按照汉字的"二进制编码"顺序进行排序的.有方法改变这个默认规则么?答案是肯定的,Oracle针对简体中文提供三 ...

  7. 关于解决SpringDataJpa框架实体类表字段创建顺序与数据库表字段展示顺序不一致的问题

    关于解决SpringDataJpa框架实体类表字段创建顺序与数据库表字段展示顺序不一致的问题 参考文章: (1)关于解决SpringDataJpa框架实体类表字段创建顺序与数据库表字段展示顺序不一致的 ...

  8. mysql数据库表字段使用DESC等关键字报错及解决方法

    mysql数据库表字段使用DESC等关键字报错及解决方法 参考文章: (1)mysql数据库表字段使用DESC等关键字报错及解决方法 (2)https://www.cnblogs.com/li--xi ...

  9. 使用mysql创建外键约束_Mysql创建外键约束的两种方式

    通过给mysql的表字段添加外键约束,可以有效的保持数据的一致性和完整性,数据就不会很容易出问题. 1.创建表时直接创建外键约束create table books( bookid number(10 ...

最新文章

  1. 一个祸害我很久的东东——事件过滤器之按键触发
  2. 群体智能,多个机器人协同搬运!
  3. python写入并获取剪切板内容_python写入并获取剪切板内容
  4. 资深程序员:Python中你不知道的那些小工具
  5. Spring – IoC 容器
  6. idefo功能模型图_如何画架构图?
  7. 通达信 移动平均算法_高德网络定位算法的演进
  8. FPS游戏通用自瞄实现
  9. 透明网桥的自学习算法
  10. win32_mfc 理论资料 供自己查阅
  11. 从吴军的书《见识》总结的49条商业本质、为人方法
  12. WiFi大师3.0.9独立可运营版
  13. 如何提高个人执行力?
  14. TCP三次握手四次挥手
  15. cont_c指令_SFB41_CONT_C输入和输出参数
  16. Flink实操 : 状态管理
  17. 你真的认为iPhone只是一部手机?苹果惊天秘密之 一
  18. PMP项目管理过程实用表格与应用(实用表格推荐)
  19. 智能电视也进入消费者重视芯片的时代了
  20. oracle数据库的练习题,《Oracle数据库应用》练习题及答案

热门文章

  1. 微课|中学生可以这样学Python(6.5节):lambda表达式
  2. caffe 实例笔记 2 LeNet详细解读及实现
  3. 返回路径平面上的间隙_返回电流及其与通孔的关系
  4. C语言:字符数组赋值
  5. 力扣55. 跳跃游戏(JavaScript)
  6. 力扣131. 分割回文串(JavaScript)
  7. 力扣559. N 叉树的最大深度(JavaScript)
  8. 力扣349. 两个数组的交集(JavaScript)
  9. java 文件追加文本_Java追加文件内容的三种方法
  10. python twisted框架_Python 基于Twisted框架的文件夹网络传输源码