mysql 表连接 merge,mysql-merge合并表

merge表 注意:1 每个子表的结构必须一致,主表和子表的结构需要一致,2 每个子表的索引在merge表中都会存在,所以在merge表中不能根据该索引进行唯一性检索。3 子表需要是MyISAM引擎4 AUTO_INCREMENT 不会按照你所期望的方式工作。建表语句create table tab

merge表

注意:

1 每个子表的结构必须一致,主表和子表的结构需要一致,

2 每个子表的索引在merge表中都会存在,所以在merge表中不能根据该索引进行唯一性检索。

3 子表需要是MyISAM引擎

4 AUTO_INCREMENT 不会按照你所期望的方式工作。

建表语句

create table tablename(正常的字段)engine=merge insert_method=last

insert_method:

有两个值如下:

LAST 如果你执行insert 指令来操作merge表时,插入操作会把数据添加到最后一个子表中。

FIRST 同理,执行插入数据时会把数据添加到第一个子表中。

例子:

create table user1(

id int(10) not null auto_increment,

name varchar(50),

sex int(1),

primary key(id)

)engine=myisam charset=utf8;

create table user2(

id int(10) not null auto_increment,

name varchar(50),

sex int(10)

,primary key(id)

)engine=myisam charset=utf8;

insert into user1 (name,sex) values('张三',0);

insert into user2 (name,sex) values('lisi',1);

mysql> select * from user1;

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

| id | name | sex |

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

| 1 | 张三 | 0 |

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

mysql> select * from user2;

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

| id | name | sex |

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

| 1 | lisi | 1 |

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

create table alluser(

id int(10) not null auto_increment,

name varchar(50),

sex int(10),

index(id)

)type=merge union=(user1,user2) insert_method=last;

mysql> select * from alluser;

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

| id | name | sex |

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

| 1 | 张三 | 0 |

| 1 | lisi | 1 |

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

mysql> insert into alluser(name,sex) values('嘿嘿',0);

mysql> select * from user1;

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

| id | name | sex |

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

| 1 | 张三 | 0 |

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

1 row in set (0.00 sec)

mysql> select * from user2;

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

| id | name | sex |

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

| 1 | lisi | 1 |

| 2 | 嘿嘿 | 0 |

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

2 rows in set (0.00 sec)

//他把这条数据存入了user2表里是因为我们的insert_method的参数填写的是last

mysql> update alluser set sex=replace(sex,0,1) where id=2;

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

| id | name | sex |

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

| 1 | 张三 | 0 |

| 1 | lisi | 1 |

| 2 | 嘿嘿 | 1 |

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

作者:maildocgaojingru 发表于2013-8-26 17:32:27 原文链接

阅读:53 评论:0 查看评论

e691fc415fb98281d8f611b2e74f4a9b.gif

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值