Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/12/2010, 18:03
Avatar de Rankxerox1984
Rankxerox1984
 
Fecha de Ingreso: septiembre-2010
Mensajes: 253
Antigüedad: 13 años, 8 meses
Puntos: 4
Error en Insert (...lo hise de nuevo)

Hola a todos:

Me está resultando de gran ayuda el foro para mis progresos con mi proyecto. Gracias a todos por adelantado. Estoy haciendo un Insert a dos tablas relacionadas. Para ello primero hago el insert a la tabla "madre" y mediante un select obtengo el ultimo PK que convierto mediante el uso de una variable en la K (no PK) de la tabla "hija" una vez obtenida la variable la utilizo como un valor del registro en el insert de esa tabla.

aqui el error obtenido con ese improbo esfuerzo
Cita:
Error in query: INSERT INTO direcciones (idPER,direccion, poblacion, provincia, ZIPCode, pais ) VALUES ('Resource id #3','calvet 3456 12 3','Barcelona','Barcelona','087456',''). Duplicate entry '0' for key 'PRIMARY'
Y aquí el código que lo origina:


Código PHP:
// open connection 
$connection mysql_connect($host$user$pass) or die ("Unable to connect!"); 

// select database 
mysql_select_db($db) or die ("Unable to select database!"); 

// creo query

 
$query "INSERT INTO personas (nombre,apellido1,apellido2,usuario,clave) VALUES ('$nombre', 

'$apellido1','$apellido2','$usuario','$clave')"
;

// ejecuto query
$result mysql_query($query) or die ("Error in query: $query. ".mysql_error());

//Selecciono PK y la adjudico a la clave idPER de personas mediante una variable

$selectPKper="SELECT MAX(idPrimaryPER) ID FROM personas";

$idPER=mysql_query ($selectPKper);
 
 
$query2"INSERT INTO direcciones (idPER,direccion, poblacion, provincia, ZIPCode, pais ) VALUES 

('$idPER','$direccion','$poblacion','$provincia','$ZIPCode','$pais')"
;
 
// execute query 

$result2 mysql_query($query2) or die ("Error in query: $query2. ".mysql_error());
 
// print message with ID of inserted record 
echo "New record inserted with ID ".mysql_insert_id(); 

// close connection 
mysql_close($connection); 
¿Alguien sabe como resolver este tema? Se agradecen sugerencias,

Muchas gracias por adelantado,

J.