Vostri criteri dovrebbe andare in questo modo:
INSERT INTO newDatabase.table1 (Column1, Column2)
SELECT column1, column2 FROM oldDatabase.table1;
UPDATE
Dal momento che questa risposta è sempre più attenzione che ho anche anticipato, mi dovrebbero ampliare su questa risposta . Prima di tutto, potrebbe non essere ovvio dalla risposta stessa, ma le colonne non hanno bisogno di avere lo stesso nome. Così, a seguito lavorerà troppo (assumendo che le colonne esistono nelle rispettive tabelle):
INSERT INTO newDatabase.table1 (Column1, Column2)
SELECT SomeOtherColumn, MoreColumns FROM oldDatabase.table1;
Inoltre, essi non hanno nemmeno bisogno di essere veri colonne della tabella. Uno degli esempi per la trasformazione dei dati che uso molto spesso è:
INSERT INTO newDatabase.users (name, city, email, username, added_by)
SELECT CONCAT(first_name, ' ', last_name), 'Asgard', CONCAT(first_name,'@gmail.com'), CONCAT(first_name,last_name), 'Damir' FROM oldDatabase.old_users;
Così, come potrebbe essere più evidente ora, la regola è, a patto che la query SELECT restituisce stesso numero di colonne che inseriscono le esigenze di query , può essere utilizzato al posto di VALORI.
Forse hai bisogno di uno spazio dopo il nome della tabella, poco prima ( – marcosh
La sintassi di MySQL SELECT è errata. Suppongo che tu non abbia letto il manuale (https://dev.mysql.com/doc/refman/ 5.0/it/select.html)? –