Lo siento, me equivoqué al copiar el código. Puse la inserción de suscripciones y de lo que hablaba era de la inserción de descargas. Es decir, el problema me lo da al insertar una descarga y no encontrar la clave dentro de esa misma tabla, nada que ver con otras tablas.
Código PHP:
java.sql.PreparedStatement pstmt = con.prepareStatement("insert into descargas values (?, ?, ?)");
pstmt.setString(1, nombre_archivo);
pstmt.setString(2, nombre);
pstmt.setString(3, suscripcionDireccionXML);
pstmt.executeUpdate();
pstmt.close();
Además, si lo hago con Statement la excepción obtenida es:
java.sql.SQLException: ORA-00917: falta la coma
Y efectivamente, hay una comilla simple en el atributo nombre.