Creo que lo que quieres puede estar por acá:
http://www.mysql.com/doc/en/INSERT_SELECT.html
Revisa sobre todo los comentarios de los usuarios.
Por ahí hay uno que dice algo de:
INSERT INTO tab VALUES (1, (SELECT MAX(N) FROM tab))...
Que sería EXACTAMENTE lo que tú quieres hacer.
La verdad no tuve mucho tiempo de verlo... es que tengo algo de problemas con el inglés y me toma un poco de tiempo entender bien las cosas...
Pero ahí dejé el link... revísalo...
Te recuerdo leer bien sobre la versión de Mysql que soporta esta sintaxis.
Y de plano, siempre tienes la opción de hacerlo "a mano" o sea hacer una consulta a la tabla de Autores buscando el autor y obteniendo el id... Si no lo encuentra, no insertas... Si lo encuentra, insertas... Hasta me parece que habría más control en cuanto a los mensajes de error que quieras poner.. (fácil me puedo estar equivocando)...
Saludos