2020-03-04 复制一张表的部分列,到另一张表中.

待复制的表,source

CREATE TABLE `gaode_adcode` (
  `id` int(32) NOT NULL AUTO_INCREMENT,
  `name` varchar(100) DEFAULT NULL,
  `adcode` int(11) DEFAULT NULL,
  `citycode` int(11) DEFAULT NULL,
  `warzone` varchar(10) DEFAULT NULL,
  `lon` varchar(10) DEFAULT NULL,
  `lat` varchar(10) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=8529037 DEFAULT CHARSET=utf8;

复制的表,target

CREATE TABLE `sys_city` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `city_name` varchar(20) DEFAULT NULL,
  `code` varchar(40) DEFAULT NULL COMMENT '城市拼音',
  `status` int(11) DEFAULT NULL,
  `region_number` varchar(50) DEFAULT NULL COMMENT '行政区域编号',
  `centre_la` varchar(255) DEFAULT NULL COMMENT '城市中心点维度',
  `centre_lo` varchar(255) DEFAULT NULL COMMENT '城市中心点经度',
  `create_by` int(11) DEFAULT NULL,
  `update_by` int(11) DEFAULT NULL,
  `create_date` timestamp NULL DEFAULT NULL,
  `update_date` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1561 DEFAULT CHARSET=utf8;

想要将gaode_adcode 表中的adcode 能被 100 整除的数,插入到sys_city 表中

sql 语句如下:

INSERT INTO sys_city (
    city_name,
    CODE,
    STATUS,
    centre_lo,
    centre_la,
    create_by,
    update_by,
    create_date,
    update_date
) 
SELECT
    NAME,
    adcode,
    1,
    lon,
    lat,
    1,
    1,
    now(),
    now()
FROM
    `gaode_adcode`
WHERE
    adcode % 100 = 0;

你可能感兴趣的:(2020-03-04 复制一张表的部分列,到另一张表中.)