merge合并表的要求

1.合并的表使用的必须是MyISAM引擎

2.表的结构必须一致,包括索引、字段类型、引擎和字符集

实例:

create table if not exists user1(

id int(11) not null auto_increment,

name varchar(50) default null,

sex int(1) not null default 0,

primary key (id)

)engine = MyISAM default charset = utf8 auto_increment=1;

create table if not exists user2(

id int(11) not null auto_increment,

name varchar(50) default null,

sex int(1) not null default 0,

primary key (id)

)engine = MyISAM default charset = utf8 auto_increment=1;

create table if not exists alluser(

id int(11) not null auto_increment,

name varchar(50) default null,

sex int(1) not null default 0,

primary key (id)

)engine = merge union=(user1,user2) insert_method = last auto_increment=1;

执行insert into alluser (name,sex) values (‘tian‘,1);报错如下:

ERROR 1168 (HY000): Unable to open underlying table which is differently defined or of non-MyISAM type or doesn‘t exist

百度了一下原来是默认字符集没写,修改如下

create table if not exists alluser1(

id int(11) not null auto_increment,

name varchar(50) default null,

sex int(1) not null default 0,

primary key (id)

)engine = merge union=(user3,user4) insert_method = last auto_increment=1 default charset=utf8;

执行insert into alluser1 (name,sex) values (‘tian‘,1);成功

执行select * from alluser1;显示如下:

+----+------+-----+

| id | name | sex |

+----+------+-----+

| 1 | tian | 1 |

+----+------+-----+

执行select * from user2;显示如下:

+----+------+-----+

| id | name | sex |

+----+------+-----+

| 1 | tian | 1 |

+----+------+-----+

mysql的merge_mysql用merge合并表相关推荐

  1. 【MySQL高级】查询缓存、合并表、分区表

    [1] 查询缓存   MySQL的缓存机制简单地说就是缓存SQL语句和查询的结果,如果运行相同的SQL语句,服务器会直接从缓存中取到结果,而不需要再去解析和执行SQL语句.   查询缓存会存储最新数据 ...

  2. MySQL 优化之 index merge(索引合并)

    深入理解 index merge 是使用索引进行优化的重要基础之一.理解了 index merge 技术,我们才知道应该如何在表上建立索引. 1. 为什么会有index merge 我们的 where ...

  3. mysql 两张表合并查询_mysql中的分区表和合并表详解(一个常见知识点)

    分区表是mysql5.1之后的新特性,合并表已经存在很长时间了.这篇文章主要介绍这两个概念以及他们基本的操作. 一.合并表 合并表说实话是一种将要被淘汰的技术,但是掌握了合并表的概念再去看分区表就比较 ...

  4. mysql 分区合并_mysql中的合并表和分区表详解(经常使用的概念)

    分区表是mysql5.1之后的新特性,合并表已经存在很长时间了.这篇文章主要介绍这两个概念以及他们基本的操作. 一.合并表 合并表说实话是一种将要被淘汰的技术,但是掌握了合并表的概念再去看分区表就比较 ...

  5. MySQL 优化器之Index merge Multi-Range Read MRR与Batched Key Access使用案例详解

    MySQL 优化器之Index merge Multi-Range Read  MRR与Batched Key Access介绍 索引合并Index merge 覆盖索引是在索引里即有查询时需要的字段 ...

  6. 表的插入、更新、删除、合并操作_21_合并表中数据

    合并表中数据 需求描述 需求:如果emp_temp表中的员工存在于emp中,则将他们的提成(comm字段)更新为1000; 对于提成已经更新为1000的员工,如果他们的工资(SAL字段)少于2000, ...

  7. mysql 主表存hash和子表的名字_【mysql】mysql分表和表分区详解

    为什么要分表和分区? 日常开发中我们经常会遇到大表的情况,所谓的大表是指存储了百万级乃至千万级条记录的表.这样的表过于庞大,导致数据库在查询和插入的时候耗时太长,性能低下,如果涉及联合查询的情况,性能 ...

  8. 面试官:为什么mysql不建议执行超过3表以上的多表关联查询?

    概述 前段时间在跟其他公司DBA交流时谈到了mysql跟PG之间在多表关联查询上的一些区别,相比之下mysql只有一种表连接类型:嵌套循环连接(nested-loop),不支持排序-合并连接(sort ...

  9. 为什么 MySQL 不建议执行超过 3 表以上的多表关联查询?

    目录 一.概述 二.讨论 一.概述 前段时间在跟其他公司 DBA 交流时谈到了 MySQL 与 PG之间在多表关联查询上的一些区别,相比之下 MySQL 只有一种表连接类型:嵌套循环连接 (neste ...

最新文章

  1. open python语言实现 pdf_使用python操作Pdf代码实现
  2. mysql中find_in_set()函数的使用
  3. Docker容器制作
  4. 数学符号正三角形△和倒三角形▽的意思
  5. java menu字体_Java开发网 - 请问如何让菜单字体变宋体?
  6. 易支付系统源码_刷脸支付系统源码,插件源码合作模式有哪些,采购源码需要注意什么...
  7. 一瓶可乐的自动售货机指令“旅程”
  8. 你应该需要知道的前端小技巧
  9. 大数据可视化该如何实现
  10. 从零到实现Shiro中Authorization和Authentication的缓存
  11. 如何学好C语言程序设计?
  12. 修改sql数据库服务器名称,如何更改sql数据库服务器名称
  13. 【元胞自动机】基于matlab元胞自动机考虑驾驶行为的自动—求解手动驾驶混合交通流问题【含Matlab源码 2060期】
  14. Linux查看硬盘挂载
  15. 二元一次方程有唯一解的条件_一个二元一次方程的一个解是
  16. ios 企业签 plist 安装 通用模板
  17. Vim学习笔记一:Vim对文本操作
  18. Xcode13.3 13.2以及Flutter新版本的稳定性问题
  19. 各类型液晶电视面板解析
  20. C++ MFC学习笔记(第三课)绘制统计直方图

热门文章

  1. Zotero使用教程
  2. 微信小程序 高度占满整个屏幕
  3. [ZT]武汉哪里的发廊最便宜?
  4. w ndows 10画图,网友“羞辱”Windows 10界面设计:用画图 10分钟搞定!
  5. 用ghost重装后硬盘不见了,ghost后无法启动且找不到硬盘的解决办法
  6. CTP_API 一 CTP简介
  7. 【ElasticSearch】什么是ES?ES的安装
  8. 【强化学习论文】小样本策略泛化的提示决策转换器
  9. 目前,网络上面,最暴利的行业,有几点,1、男人好色类 2、女人爱美类 3、老人要健康 4、小孩要智慧 5、企业要赚钱。
  10. SpringBoot - 使用Assert校验让业务代码更简洁