INSERT instrukcja może używać wierszy zwracanych przez SELECT oświadczenie jako źródło wstawiania danych. Więc skonstruuj odpowiedni SELECT oświadczenie z posts_temp i authors i gotowe:
INSERT INTO posts(text, author_id)
SELECT pt.post, a.id
FROM posts_temp pt
JOIN authors a ON a.name = pt.author;