全部博文(2065)
分类: 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
只能是通过修改表结构进行了!