Ver Mensaje Individual
  #6 (permalink)  
Antiguo 11/11/2015, 12:54
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: insertar datos en 2 tablas diferentes jdbc

Técnicamente, las dos consultas están mal escritas.
Como em concentré en el problema programático no lo vi pero eso:
Código MySQL:
Ver original
  1. INSERT INTO PERSONAS (CODPER, NOMBRE, AP, AM, GENERO, TIPOPER)
  2. VALUES((SELECT MAX(CODPER)+111 FROM PERSONAS),?,?,?,?,?)
Es ilegal en MySQL, porque no admite que se consulte y se inserte o modifiquen registros de la misma tabla en la misma sentencia, y MySQL tampoco admite subconsultas en un VALUE.

y esto:
Código MySQL:
Ver original
  1. INSERT INTO DATOS (CI,CODPER)
  2. VALUES(?,(SELECT MAX(CODPER)+111 FROM PERSONAS))
está mal, por la misma razon indicada antes al final.

Necesitas entender que SQL y Java no son el mismo lenguaje. Cada uno tiene sus reglas y si vas a embeber SQL en Java, el SQL tiene que estar correctamente escrito para la base de datos.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)