G
gmsegui
Dseda
NO, NO, NO ... eso no se hace , no olvidemos que MYSQL es un motor de BD relacional, pues entonces utilicemos relaciones... para lo que deseas hacer te serviria la siguiente estructura:
1- tabla 'pelicula' {id, nombre, año, etc, etc}
2- tabla 'actor' {id, nombre, biografia, etc, etc}
3- tabla 'actor_pelicula' {id_pelicula, id_actor}
eso te sirve perfectamente. saludos, si tienes mas dudas mandame un MP
PD: algunas consultas de ayuda:
- Obtener peliculas en las que a estado el actor con ID: 1
"SELECT pelicula.* FROM pelicula INNER JOIN actor_pelicula ON pelicula.id = actor_pelicula.id_pelicula WHERE actor_pelicula.id_actor = 1"
- Obtener actores que han estado en la pelicula con ID: 2
"SELECT actor.* FROM actor INNER JOIN actor_pelicula ON actor.id = actor_pelicula.id_actor WHERE actor_pelicula.id_pelicula = 2"
NO, NO, NO ... eso no se hace , no olvidemos que MYSQL es un motor de BD relacional, pues entonces utilicemos relaciones... para lo que deseas hacer te serviria la siguiente estructura:
1- tabla 'pelicula' {id, nombre, año, etc, etc}
2- tabla 'actor' {id, nombre, biografia, etc, etc}
3- tabla 'actor_pelicula' {id_pelicula, id_actor}
eso te sirve perfectamente. saludos, si tienes mas dudas mandame un MP
PD: algunas consultas de ayuda:
- Obtener peliculas en las que a estado el actor con ID: 1
"SELECT pelicula.* FROM pelicula INNER JOIN actor_pelicula ON pelicula.id = actor_pelicula.id_pelicula WHERE actor_pelicula.id_actor = 1"
- Obtener actores que han estado en la pelicula con ID: 2
"SELECT actor.* FROM actor INNER JOIN actor_pelicula ON actor.id = actor_pelicula.id_actor WHERE actor_pelicula.id_pelicula = 2"
Me quedo una consulta, sorry.. Si yo quisiera agregar 5 actores como antes decia, agregaria dentro de la tabla actor_pelicula, campos id_pelicula, id_actor1, id_actor2, id_actor3, id_actor4, id_actor5 ?
INSERT INTO actor_pelicula (pelicula, actor) VALUES
(30, 43),
(30, 20),
(30, 7),
(30, 19),
(30, 37);
Me quedo una consulta, sorry.. Si yo quisiera agregar 5 actores como antes decia, agregaria dentro de la tabla actor_pelicula, campos id_pelicula, id_actor1, id_actor2, id_actor3, id_actor4, id_actor5 ?
Como bien dice [MENTION=29830]gamarro[/MENTION] , para cada actor que desees agregar primero lo agregas a la tabla ACTOR, si luego a cada actor lo quieres relacionar con cualquier pelicula, para cada relacion ACTOR-PELICULA es un nuevo registro en la tabla "actor_pelicula"
CREATE TABLE actor_pelicula (
id_pelicula int(6) not null,
id_actor int(6) not null,
primary key (id_pelicula,id_actor),
foreign key (id_pelicula) references pelicula.id_pelicula on delete cascade on update cascade,
foreign key (id_actor) references actor.id_actor on delete cascade on update cascade
)
Y ya si quieres que se actualice de forma automática, es decir, que si eliminas por ejemplo una peli también elimine su correspondiente entrada en actor_pelicula debes definir la tabla con claves ajenas:
Insertar CODE, HTML o PHP:CREATE TABLE actor_pelicula ( id_pelicula int(6) not null, id_actor int(6) not null, primary key (id_pelicula,id_actor), foreign key (id_pelicula) references pelicula.id_pelicula on delete cascade on update cascade, foreign key (id_actor) references actor.id_actor on delete cascade on update cascade )
Nota: los campos int(6) debes substituirlos por tu tipo de campo, igual que los nombres de campos y tablas claro.
Saludos.
DELETE FROM peliculas WHERE id=7;
DELETE FROM actor_pelicula WHERE pelicula=7;
Utilizamos cookies y tecnologías similares para los siguientes fines:
¿Aceptas las cookies y estas tecnologías?
Utilizamos cookies y tecnologías similares para los siguientes fines:
¿Aceptas las cookies y estas tecnologías?