Вашата заявка трябва да изглежда така:
INSERT INTO newDatabase.table1 (Column1, Column2)
SELECT column1, column2 FROM oldDatabase.table1;
АКТУАЛИЗИРАНЕ
Тъй като този отговор привлича повече внимание, отколкото дори очаквах, трябва да разширя този отговор. Първо, може да не е очевидно от самия отговор, но не е необходимо колоните да имат едно и също име. Така че, следното също ще работи (ако приемем, че колоните съществуват в съответните им таблици):
INSERT INTO newDatabase.table1 (Column1, Column2)
SELECT SomeOtherColumn, MoreColumns FROM oldDatabase.table1;
Освен това те дори не е необходимо да са реални колони в таблицата. Един от примерите за трансформиране на данни, които използвам доста често е:
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;
Така че, тъй като сега може да е по-очевидно, правилото е, докато заявката SELECT връща същия брой колони, от която се нуждае заявката INSERT, тя може да се използва вместо VALUES.