Ver Mensaje Individual
  #9 (permalink)  
Antiguo 01/11/2010, 06:30
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: 17 años, 3 meses
Puntos: 2658
Respuesta: Nuevo en SQL (..y en todo en general)

El punto esencial es el hecho de estar creando registros con el ID como autonumérico. Lo que debes hacer en ese caso es recuperar el ID creado automáticamente por MySQL al insertar el registro en la tabla PERSONA, y eso lo puedes hacer de tres formas:
1) En MySQL, usando una función denominada LAST_INSERT_ID(), la cual devuelve el último ID autonumérico creado de la última inserción, pero debe ser ejecutado inmediatamente después de la inserción o su valor se pierde.
2) Si estás usando PHP, usas la función mysql_insert_id(), que precisamente lee ese dato, inmediatamente después de una inserción exitosa.
Código PHP:
Ver original 
3) Rústicamente, lo puedes hacer con una sentencia de consulta para recuperar el último creado en esa tabla, que invariablemente es el máximo:
Código MySQL:
Ver original
  1. SELECT MAX(persona_id) ID FROM persona;

Recién con ese dato recuperado puedes hacer el resto de las inserciones.

Hay algunas consideraciones sobre tu modelo, pero te las paso luego (ahora estoy en la empresa, trabajando, y con cámaras mirando).
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)