Zapytanie powinno iść tak:
INSERT INTO newDatabase.table1 (Column1, Column2)
SELECT column1, column2 FROM oldDatabase.table1;
UPDATE
Ponieważ ta odpowiedź jest coraz więcej uwagi niż ja nawet przewidywano, że należy poszerzyć tą odpowiedź . Po pierwsze, może nie być oczywiste z samej odpowiedzi, ale kolumny nie muszą mieć tej samej nazwy. Więc, po zadziała zbyt (zakładając, że kolumny istnieć w swoich tabelach):
INSERT INTO newDatabase.table1 (Column1, Column2)
SELECT SomeOtherColumn, MoreColumns FROM oldDatabase.table1;
Co więcej, nawet nie muszą być prawdziwe kolumny w tabeli. Jednym z przykładów przekształcania danych, które używam dość często jest:
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;
Tak, jak to może być bardziej oczywiste teraz, regułą jest, tak długo jak kwerendy SELECT zwraca taką samą liczbę kolumn, które wstawiają potrzeb zapytań , może być użyty zamiast WARTOŚCI.
Może potrzebujesz spacji po nazwie tabeli, tuż przed ( – marcosh
Twoja składnia MySQL SELECT jest niepoprawna Zgaduję, że nie przeczytałeś instrukcji (https://dev.mysql.com/doc/refman/ 5.0/en/select.html)? –