Cita:
Iniciado por dontexplain Si pretendes hacer 3 operaciones de inserción en una misma query, no es probable, al menos, con querys estándar en mysql. Para recuperar el num_usuario de una consulta, siempre que sea la columna id o alguna otra que se incremente en esa inserción, basta con usar mysql_insert_id
Código PHP:
Ver original
mysql_query("INSERT INTO tabla2 (a,b,c) VALUES('blabla',$last_id,'blablabla2')"); mysql_query("INSERT INTO tabla3 (a,b,c) VALUES('blabla',$last_id,'blablabla2')");
Para recuperar e insertar otros datos se puede usar una consulta INSERT ... SELECT
Código PHP:
Ver originalmysql_query("INSERT INTO tabla2 (a) VALUES('ejemplo') SELECT tabla1 WHERE tabla1.userid=234");
En que se insertaría en tabla2 la columna a que corresponde con el registro en la tabla1 cuyo userid sea 234.
Un saludo.
OK, sobre todo muchas gracias por contestar, no solo a ti sino a todos los que podeis contestar a los que no sabemos mucho de estos temas. Bueno, como ya he comentado tengo varias tablas en la base de datos y por eso lo que hago es en la primera tabla llamada
usuarios es un insert con los campos nombre,apellidos etc..., en esa misma pantalla recupero los datos con un campo AUTOINCREMENT para que me saque el NUM_USUARIO (este es el dato que pienso que es culpable de alargar el proceso no?). En esa misma pantalla tengo un botón que me manda a una segunda pantalla tomando como referencia el NUM_USUARIO en la que vuelvo a hacer otro insert en la tabla
dir_usuarios con datos como calle,localidad etc..., y tambien vuelvo a recuperarlos. Y luego hago otra vez el proceso con la tercera tabla llamada
avisos . No se si lo estoy haciendo bien o se puede acortar el proceso. Si no entendeis lo que explico por favor no dudeis en preguntarme. Muchas gracias y un saludo