QUESTION:Can't create table 'mydb3.#sql-f48_1' (errno: 150

ANSWER:

总得来说是因为两个表的字段类型不一致,例如:

两个字段的类型或大小不严格匹配,一个为tinyint,另一个为char;或一个为int(10)另一个为int(9)也是不行的,即使都为int(10),但一个是有符号数,一个是无符号数也会报错。
reference的另一个表的字段必须是主键或建立索引。
外键的名字有重复或与键值重复。
两个表必须都是用InnoDB引擎,事实上MyISAM引擎是不会产生外键的。
设置了ON DELETE SET NULL,但字段又设置为NOT NULL。
在这个关系里面,其中的一个字段是一个混合键值中的一个,它没有自己独立的索引,这时,你必须为它创建一个独立的索引。
主键和外键的字符编码不一致。例如一个是utf-8另一个是GBK。

总的来说,就是两个字段有不一样的地方,不能建立外键约束。

MySql笔记:Can't create table 'mydb3.#sql-f48_1' (errno: 150相关推荐

  1. Can't create table './store/#sql-b2c_1a.frm' (errno: 150)解决方法

    错误原因有四: 1.外键的引用类型不一样,主键是int外键是char  2.找不到主表中 引用的列  3.主键和外键的字符编码不一致  4.还有要建立外键的话,要先建立索引.没有建立索引也会出错. 我 ...

  2. mysql中新建数据库create table的COLLATE是什么?

    在mysql中执行show create table <tablename>指令,可以看到一张表的建表语句,example如下: CREATE TABLE `table1` (`id` b ...

  3. mysql add default_MySQL中create table DEFAULT 用法

    CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [(create_definition,...)] [table_options] [select_ ...

  4. mysql建表auto_increment_mysql create table auto_increment

    当插入记录时,没有为AUTO_INCREMENT明确指定值,则等同插入NULL值 把0插入AUTO_INCREMENT数据列的效果与插入NULL值一样.但不建议这样做,还是以插入NULL值为好. 如果 ...

  5. mysql create很多table,SQL CREATE TABLE 语句

    原标题:SQL CREATE TABLE 语句 SQL CREATE TABLE 语句 CREATE TABLE 语句用于创建数据库中的表. 表由行和列组成,每个表都必须有个表名. SQL CREAT ...

  6. mysql create table()_MySQL Create Table创建表

    表的创建命令需要: 表的名称 字段名称 定义每个字段(类型.长度等) 语法 下面是通用的SQL语法用来创建MySQL表: CREATE TABLE table_name (column_name co ...

  7. postgres语法_SQL Create Table解释了MySQL和Postgres的语法示例

    postgres语法 A table is a group of data stored in a database. 表是存储在数据库中的一组数据. To create a table in a d ...

  8. MySQL创建数据表(CREATE TABLE语句)

    在创建数据库之后,接下来就要在数据库中创建数据表.所谓创建数据表,指的是在已经创建的数据库中建立新表. 创建数据表的过程是规定数据列的属性的过程,同时也是实施数据完整性(包括实体完整性.引用完整性和域 ...

  9. mysql创建表参数_MySQL创建数据表(CREATE TABLE语句)

    在创建数据库之后,接下来就要在数据库中创建数据表.所谓创建数据表,指的是在已经创建的数据库中建立新表. 创建数据表的过程是规定数据列的属性的过程,同时也是实施数据完整性(包括实体完整性.引用完整性和域 ...

最新文章

  1. R语言plotly可视化:plotly可视化基本散点图(指定图像类型、模式)、plotly可视化散点图(为不同分组数据配置不同的色彩)、ggplotly使用plotly包呈现ggplot2的可视化结果
  2. python怎么读文件名-python如何获取当前文件夹下所有文件名详解
  3. BERT源码分析(PART III)
  4. 聚焦实战,架构升级!
  5. 8086汇编常用指令(待解释)
  6. 深入理解Angular订阅者模式
  7. 中职计算机应用基础微课获奖视频,浅谈微课在中职计算机应用基础教学中的应用...
  8. 产品不简单之产品设计方法论整理
  9. MySQL实战45讲
  10. c语言程序设计设计题题库,C语言程序设计题库.doc
  11. java实现从浏览器读取Csv文件解析成 ListMap
  12. 英语太差怎么办,快来写一个“百词斩”软件给自己背单词
  13. 飞龙在天-中国新战机将在歼11基础上腾飞
  14. SDN相关组织——ODL
  15. 区块链教程Fabric1.0源代码分析Ledger(账本)二
  16. 10岁小表妹也能“吃透”Geth 客户端 !360秒,快速部署 ICO Token
  17. r语言list 转换成 vector
  18. 小米4可以刷入linux,小米4刷入SailfishOS系统使用评测
  19. 计算机专业哪些课程好难,计算机专业课程有哪些 学计算机难不难
  20. Early Convolutions Help Transformers See Better

热门文章

  1. 用一句话证明你是程序员,你会怎么说
  2. 计算机专业的学生该选择日后的人生道路?继续从事IT还是考公务员……
  3. mysql把select结果存到变量中_mysql实例 select into保存到变量的例子
  4. 鼠标中间无法打开新标签_还记得鼠标有几个键?Win10环境鼠标中键的妙用
  5. python subprocess communicate_Python中的Subprocess模块
  6. python网络爬虫系列(八)——常见的反爬手段和解决方法
  7. [编程启蒙游戏] 1. 猜数字
  8. LeetCode 1234. 替换子串得到平衡字符串(滑动窗口)
  9. LeetCode 427. 建立四叉树(递归)
  10. python3 可执行文件_将python3打包成为exe可执行文件(pyinstaller)