2012-04-04 103 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;