Chinaunix首页 | 论坛 | 博客
  • 博客访问: 29423761
  • 博文数量: 2065
  • 博客积分: 10377
  • 博客等级: 上将
  • 技术积分: 21525
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-04 17:50
文章分类

全部博文(2065)

文章存档

2012年(2)

2011年(19)

2010年(1160)

2009年(969)

2008年(153)

分类: Mysql/postgreSQL

2009-11-19 15:03:02

今天更改一个后台系统,需要拷贝一个mysql表。于是总结了一下MYSQL中复制表结构的几种方法:

1、create table newtable select * from oldtable;
这种方法会将oldtable中所有的内容都拷贝过来,当然我们可以用
delete from newtable;
来删除。
不过这种方法的一个最不好的地方就是newtable中没有了oldtable的pri key、Extra(auto_increment)等属性。需要自己用"alter"添加,而且容易搞错。

2、show create table oldtable;
这样会将oldtable的创建命令列出。我们只需要将该命令拷贝出来,更改table的名字,就可以建立一个完全一样的表。

3、mysqldump
用mysqldump将表dump出来,改名字后再导回去或者直接在命令行中运行。


我要新建设一个一样的表 用了第一种办法不过没有主键。

解决方案:

 alter table serverlinux_serverlog_back modify  id int(10) not null auto_increment primary key

只能是通过修改表结构进行了!

阅读(1067) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~