Migrer les données d'une base de données à une autre
P粉509383150
2023-08-24 09:58:47
<p>Je dois migrer des données d’une base de données à une autre, toutes deux sur le même système local. </p>
<p>Les noms de table et de colonne sont différents et je n'ai pas besoin de migrer toutes les colonnes de l'ancienne base de données, donc </p>
<p><code>Sélectionner *</code> ne fonctionne pas pour moi. </p>
<pre class="brush:php;toolbar:false;">INSERT INTO newDatabase.table1(Column1, Column2);
SELECT oldDatabase.table1(column1, column2) FROM oldDatabase.table1</pre>
<p>Mais j'obtiens un <code>#1064 - Erreur de syntaxe</code></p>
<p>Quel est le problème avec ma requête et comment puis-je y remédier ? </p>
<p>Merci d'avance</p>
Si vous souhaitez copier des données dans la même table dans une base de données différente.
Votre requête devrait ressembler à ceci :
Mise à jour
Étant donné que cette réponse a attiré plus d'attention que prévu, je devrais développer cette réponse. Premièrement, cela n’est peut-être pas évident d’après la réponse elle-même, mais les noms de colonnes n’ont pas besoin d’être les mêmes. Ainsi, ce qui suit fonctionnera également (en supposant que les colonnes existent dans leurs tableaux respectifs) :
De plus, il n'est même pas nécessaire qu'il s'agisse de véritables colonnes du tableau. Un exemple de transformation de données que j'utilise souvent est :
Donc, la règle la plus évidente maintenant est peut-être que tant que la requête SELECT renvoie le même nombre de colonnes que celui requis par la requête INSERT, elle peut être utilisée à la place de VALEURS.