Insérer le contenu d’une table SQL vers une autre table SQL

Cette requête ajoute à la table « maTable2 » les champs sélectionnés dans la table « maTable1 ». Le champ « id » ne dois pas être ajouté pour ne pas avoir d’erreur de clef étrangère.
Exemple 1 :
INSERT INTO `maTable1`( `champ1`, `champ2`, `champ3`) SELECT `champ1`, `champ2`, `champ3` FROM `maTable2`
Les champs peuvent avoir des noms différents. Dans l’exemple ci-dessous, les champs « pseudo », « email »et « news » de la table « maTable2 » seront ajouter dans les champs respectifs « pseudo_user », « email_user » et « news_user » de la table « maTable1 ».
Exemple 2 :
INSERT INTO `maTable1`( `pseudo`, `email`, `news`) SELECT `pseudo_user`, `email_user`, `news_user` FROM `maTable2`
Sélection plus précise avec une condition
Cette requête ajoute à la table « maTable1 » les champs sélectionnés de la ligne qui à pour id 4 dans la table « maTable2 » . Le champ « id » ne dois pas être ajouté pour ne pas avoir d’erreur de clef étrangère, mais on peut y référer dans la condition WHERE.
INSERT INTO `maTable1`( `pseudo`, `email`, `news`) SELECT `pseudo`, `email`, `news` FROM `maTable2` WHERE `id` = 4