Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Insert a dos tablas

Estas en el tema de Insert a dos tablas en el foro de Mysql en Foros del Web. Hola, a ver si me podeis ayudar. Tengo que insertar un libro a traves de un formulario en mi base de datos donde tengo 3 ...
  #1 (permalink)  
Antiguo 19/12/2012, 11:36
 
Fecha de Ingreso: mayo-2012
Mensajes: 25
Antigüedad: 12 años
Puntos: 1
Insert a dos tablas

Hola, a ver si me podeis ayudar.
Tengo que insertar un libro a traves de un formulario en mi base de datos donde tengo 3 tablas, una es libros(con titulo, precio, etc), otra autores(que tiene id y nombre) y otra libros_autores(que tiene fk_libros y fk_autores).
En el formulario el usuario tiene que poner todos los datos a mano menos el autor que tiene que elegirlo de un select que tiene los autores que hay. Entonces para la consulta tengo clara la parte de insertar los datos del libro:

Código MySQL:
Ver original
  1. INSERT INTO libros (isbn, n_pags, precio, titulo, descripcion, editorial)
  2. VALUES('%$isbn%','%$paginas%','%$precio%','%$titulo%','%$descripcion%','%$editorial%');
Pero no sé que hacer con el autor. Tendria que insertar una fila en libros_autores con la id del autor que entra en el SELECT y la id del libro que se está insertando, pero no se como hacerlo.

Alguien puede ayudarme? Muchas gracias de antemano.

Última edición por gnzsoloyo; 19/12/2012 a las 18:36 Razón: Código SQL mal etiquetado.
  #2 (permalink)  
Antiguo 19/12/2012, 11:48
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Insert a dos tablas

En MySQL tienes la función LAST_INSERT_ID que te devuelve el id autoincremental del último dato insertado:
http://dev.mysql.com/doc/refman/5.0/...last-insert-id

En PHP existen funciones para obtener ese dato, pero eso ya escapa al objetivo de esta sección. Si necesitas más ayuda del lado de la programación avísame para mover tu pregunta a la sección de PHP.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.

Etiquetas: insert, select, tabla, tablas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:42.