No, en ese caso prueba una alternativa mejor:
Código:
INSERT INTO tabla VALUES (campoA, campoB)
SELECT otra_tabla.campoA, otra_tabla.campoB
FROM otra_tabla
LEFT JOIN tabla
ON tabla.llave = otra_tabla.llave
WHERE tabla.llave IS NULL
Usando subquerys tambien es posible, la lectura es mas clara, pero es mas costoso para el procesador:
Código:
INSERT INTO tabla VALUES (campoA, campoB)
SELECT campoA, campoB
FROM otra_tabla
WHERE llave NOT IN (SELECT llave FROM tabla)
PD. Mi mayor experiencia es en SQL Server, si estas sentencias no funcionan es probable a alguna falla de sintaxis de MySQL, en particular no se como se hacen los subquerys en MySQL