2012-04-04 68 views
0

我有以下两个表,我想要把table2的内容添加到table1的末尾(例如:将两个表合并成一个)。希望ID继续自动增加。MySQL - 合并2个类似的表

表1:

CREATE TABLE IF NOT EXISTS `world` (
    `id` int(10) unsigned NOT NULL AUTO_INCREMENT, 
    `country` varchar(2) DEFAULT NULL, 
    `region1` varchar(60) DEFAULT NULL, 
    `region2` varchar(60) DEFAULT NULL, 
    `region3` varchar(60) DEFAULT NULL, 
    `zip` varchar(10) DEFAULT NULL, 
    `city` varchar(60) DEFAULT NULL, 
    `latitude` double DEFAULT NULL, 
    `longitude` double DEFAULT NULL, 
    PRIMARY KEY (`id`) 
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=5871647 ; 

表2:

CREATE TABLE IF NOT EXISTS `extra` (
    `id` int(10) unsigned NOT NULL AUTO_INCREMENT, 
    `country` varchar(2) DEFAULT NULL, 
    `city` varchar(60) DEFAULT NULL, 
    `latitude` double DEFAULT NULL, 
    `longitude` double DEFAULT NULL, 
    PRIMARY KEY (`id`) 
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=687421 ; 

发挥下列要求:

INSERT INTO world (country, city, latitude, longitude) 
VALUES SELECT country, city, latitude, longitude FROM extra; 

THX

+1

有任何错误或您期待的内容 – 2012-04-04 10:20:18

+0

您的SQL语法错误;检查与您的MySQL服务器版本相对应的手册,以便在第2行'SELECT country,city,latitude,longitude FROM extra'附近使用正确的语法 – Adam 2012-04-04 10:25:36

+0

我认为不需要值 – 2012-04-04 10:26:54

回答

0

尝试没有像下面的值。 check this

INSERT INTO world (country, city, latitude, longitude) 
SELECT country, city, latitude, longitude FROM extra; 
2

试试这个

INSERT INTO world (country, city, latitude, longitude) 
    SELECT country, city, latitude, longitude FROM extra;