文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>mysql表的复制(结构和数据)

mysql表的复制(结构和数据)

时间:2010-11-01  来源:xiaokaizi

-----------------------------------------------------------------------------------------------------------------------------------+
| Table    | Create Table                                                                                                                                                                                                                                                                                                              |
+----------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| category | CREATE TABLE `category` (
  `cate_id` smallint(8) unsigned NOT NULL AUTO_INCREMENT,
  `parent_id` smallint(8) unsigned NOT NULL DEFAULT '0',
  `name` varchar(50) NOT NULL DEFAULT '',
  `counts` int(10) unsigned NOT NULL DEFAULT '0',
  PRIMARY KEY (`cate_id`)
) ENGINE=MyISAM AUTO_INCREMENT=30 DEFAULT CHARSET=utf8 |
+----------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+


当使用create table xxx select * from category; 时,复制过来的表的结构如下。

| category | CREATE TABLE `xxx` (
  `cate_id` smallint(8) unsigned NOT NULL DEFAULT '0',
  `parent_id` smallint(8) unsigned NOT NULL DEFAULT '0',
  `name` varchar(50) NOT NULL DEFAULT '',
  `counts` int(10) unsigned NOT NULL DEFAULT '0'
) ENGINE=MyISAM DEFAULT CHARSET=utf8 |
+----------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+


可以看到有几个明显的不同。
1,主键没有了。
2,auto_increment没有了
3,其他:如索引,以及ts数据列的一些timestamp属性都不见了,且如果源表是innodb存储引擎的话,那么
               复制过来的表会变成myisam类型。

附:使用create table xxx select * from yyyy复制的表包括结构和数据都会复制的。

而以上的这些数据结构方面的变化都是用户不需要也不想要的,为了避免发生这种问题,更好的办法是先单独复制表的数据结构,之后再复制表的数据。
CREATE TABLE XXX LIKE YYY;
INSERT INTO XXX SELECT * FROM YYY;
使用以上两条语句就可以避免不必要的问题出现。当然还有一种方法是用MYSQL的数据导入/导出命名也可以完成数据表的复制和移动操作。(备份相关)

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载