zoukankan      html  css  js  c++  java
  • 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;
    这样数据就新增成功了,再去改改没有复制过来的其他列,一条条新数据就这样诞生了。
  • 相关阅读:
    linux系统中不同颜色的文件夹及根目录介绍
    linux命令学习 随笔
    Happiness
    Sequence Number
    base64加密解密c++代码
    Wooden Sticks
    出租车费
    关系推断
    如何在Ubuntu中安装中文输入法
    c语言中printf("%x",-1);为什么会输出-1的十六进制补码??
  • 原文地址:https://www.cnblogs.com/givemelove/p/8351586.html
Copyright © 2011-2022 走看看