mysql复制数据

前言:由于工作需要,我要造大量数据,最好的方法是直接copy已有的数据,改其中一些值即可。操作的表有主键,且自增,AUTO_INCREMENT

按照以往的经验无外乎:

类别一、 如果两张张表(导出表和目标表)的字段一致,并且希望插入全部数据,可以用这种方法:(此方法只适合导出两表在同一database)
 
INSERT INTO 目标表 SELECT * FROM 来源表;
例如,要将 articles 表插入到 newArticles 表中,则可以通过如下SQL语句实现:
 
INSERT INTO newArticles SELECT * FROM articles;
类别二、 如果只希望导入指定字段,可以用这种方法:
 INSERT INTO 目标表 (字段1, 字段2, ...) SELECT 字段1, 字段2, ... FROM 来源表;
请注意以上两表的字段必须一致(字段类型),否则会出现数据转换错误。
但是涉及到自增这个属性,这就导致复制过来的值会出现重复,与自增不符合,而且又是主键的关系,sql也就会出问题。
解决这个问题我想到的就是其他数据依旧复制,留下主键和需要更改的数据不复制。
 
INSERT INTO newArticles(name,time)SELECT (name,time) FROM articles;
这样数据就新增成功了,再去改改没有复制过来的其他列,一条条新数据就这样诞生了。
posted @ 2018-01-25 15:47  Bestone  阅读(186)  评论(0编辑  收藏  举报