Y at-il un moyen d'ignorer les colonnes qui n'existent pas sur INSERT?

Je suis en utilisant un MySQL GUI à migrer certains sites pour une nouvelle version d'un CMS par la sélection de certains tableaux et de l'exécution de l' INSERT déclaration généré à partir d'une sauvegarde dump dans un tableau vide (le nouveau schéma). Il y a quelques colonnes dans les anciennes tables qui n'existent pas dans le nouveau, de sorte que le script s'arrête avec une erreur comme ceci:

Ligne de Script: 1 Unknown column 'user_id' in 'field list'

Cherry-picking les colonnes souhaitées à l'exportation, ou d'éditer le fichier de vidage serait trop long et fastidieux. Pour contourner cela, je suis de la création de la inutilisés de colonnes que les erreurs sont générées, l'importation de ces données par l'exécution de la requête, puis à la baisse le solde non utilisé des colonnes quand j'en ai fini avec ce tableau. J'ai regardé INSERT IGNOREmais cela semble être de ne pas tenir compte des doubles de clés (pas ce que je cherche).

Est-il de toute façon à la préforme un INSERT tout en ignorant les colonnes qui n'existent pas dans la table cible? Je suis à la recherche de quelque chose de "indolore", comme certaines des fonctionnalités SQL.

De préciser, je suis en train de travailler avec un tas de fichiers de sauvegarde et importation des données dans une base de données locale pour les tests avant de le déplacer sur le serveur live. Exemple du genre de solution, je suis en espérant:

-- Don't try to insert data from columns that don't exist in "new_table"
INSERT INTO `new_table` {IGNORE UNKNOWN COLUMNS} (`id`, `col1`, `col2`) VALUES 
  (1, '', ''),
  (2, '', '');

Si quelque chose comme cela n'existe tout simplement pas, je suis heureux d'accepter que comme une réponse et continuer à utiliser ma solution actuelle.

source d'informationauteur Wesley Murch