mysql中如何实现select into的效果


关键词

MySQL select into

摘要

本文介绍在MySQL中如果实现将一个表的数据复制到另一个表,且自动增长的字段能自动调整。即类似于实现了select into的功能。

如果在MySQL中直接使用如下select into的SQL,会有报错:
select * into t2 from t1;

如果直接是表与表之间的拷贝,那么可以使用create table语句来完成:
Create table t2 (Select * from t1);

这里create table是实现两个表的结构完全一致,而且拷贝过去的数据单行记录也完全一致(主是自动增长键的问题)。如果我们需要将原表的数据做一些调整后加入到新表中。那么最佳的实现应该是:

1、第一步将t1表的结构导出,然后用它创建一个t2表。
2、使用insert into语句,且指明操作的字段。
insert into t2(k,v) (select k,v from t1)
如果t1表和t2表原本还有一个id字段,那么这么做的好处是id会实现自动增长。否则使用insert into时不能插入自动增长的id字段。

 

要饭二维码

洪哥写文章很苦逼,如果本文对您略有帮助,可以扫描下方二维码支持洪哥!金额随意,先行谢过!大家的支持是我前进的动力!

文章的版权


如果您在服务器运维、网络管理、网站或系统开发过程有需要提供收费服务,请加QQ:8771947!十年运维经验,帮您省钱、让您放心!
亲,如果有需要,先存起来,方便以后再看啊!加入收藏夹的话,按Ctrl+D

« mysql多字段分组统计 MySQL优化表时提示“Table is already up to date” »