2009-09-26 9 views
0

Essayer de fusionner deux tables, mais je ne peux pas vraiment comprendre. La structure est exactement la même pour les deux tables. Cependant, chaque requête que j'ai étudiée semble écrire une table sur l'autre. Je suppose que cela a à voir avec le fait que les deux tables partagent le même identifiant. Comme ils partagent des identifiants uniques, j'aimerais avoir un nouvel identifiant attribué aux données insérées dans la table # 2 à partir de la table # 1.fusionner deux tables avec la même structure

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 

Répondre

3

Cette requête va insérer dans la table siteScoring tous les documents uniques de siteScoring1 et siteScoring2 (à l'exception de leurs colonnes id, qui sera automitcally attribué à l'insertion):

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 
Questions connexes