合并两个具有相同结构的表

时间:2009-09-26 18:15:04

标签: sql mysql

尝试合并两个表,但我无法真正理解它。两个表的结构完全相同。但是,我研究的每个查询似乎都会在另一个表上写一个表。我猜这与两个表共享完全相同的id的事实有关。

由于他们共享唯一ID,我希望为表#1中插入表#2的数据分配一个新ID。

CREATE TABLE `siteScoring` (
  `id` mediumint(9) NOT NULL auto_increment,
  `mid` mediumint(9) NOT NULL,
  `itemId` varchar(25) NOT NULL,
  `title` text NOT NULL,
  `topic` varchar(255) NOT NULL,
  `url` text NOT NULL,
  `votes` mediumint(10) NOT NULL,
  `comments` mediumint(6) NOT NULL,
  `user` varchar(25) NOT NULL,
  `itemTime` bigint(25) NOT NULL,
  `time` bigint(25) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=7930 DEFAULT CHARSET=utf8

1 个答案:

答案 0 :(得分:3)

此查询将在siteScoring表中插入siteScoring1和siteScoring2的所有唯一记录(不包括其id列,将在插入时自动分配):

INSERT INTO siteScoring(mid, itemid, title, topic, url,  
                        votes, comments, user, itemTime, time)
SELECT  mid, itemid, title, topic, url,  
        votes, comments, user, itemTime, time
FROM    siteScoring1

UNION

SELECT  mid, itemid, title, topic, url,  
        votes, comments, user, itemTime, time
FROM    siteScoring2