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

problemas con creacion de tablas

Estas en el tema de problemas con creacion de tablas en el foro de Mysql en Foros del Web. hola estoy intentando crear dos tablas anidadas y el resultado es que me da un errno 150 que no se que significa el codigo es ...
  #1 (permalink)  
Antiguo 12/12/2007, 09:19
 
Fecha de Ingreso: octubre-2007
Mensajes: 114
Antigüedad: 16 años, 6 meses
Puntos: 0
problemas con creacion de tablas

hola estoy intentando crear dos tablas anidadas y el resultado es que me da un errno 150 que no se que significa el codigo es el siguiente:




CREATE TABLE `peliculas` (
`id` INT(6) NOT NULL,
`nombre` VARCHAR(35) NOT NULL,
`genero` VARCHAR(25),
`fecha` VARCHAR(10),
`duracion` INT(3),
`interpretes` VARCHAR(40),
`director` VARCHAR(25),
`sinpsis` TEXT,
`archivo_cartel` VARCHAR(40),
`numero_cd` INT(4),
`fecha_almacenamiento` DATETIME NOT NULL,
`usuario` VARCHAR(20),
PRIMARY KEY (`id`))
TYPE = innodb;

CREATE TABLE `usuarios` (
`email` VARCHAR(40) NOT NULL,
`nombre` VARCHAR(25) NOT NULL,
`apellido` VARCHAR(25) NOT NULL,
`tipo_usuario` VARCHAR(15) NOT NULL,
`nombre_usuario` VARCHAR(10) NOT NULL,
PRIMARY KEY (email),
FOREIGN KEY (nombre_usuario) REFERENCES peliculas (usuario))
TYPE = innodb;


El error me lo da en la segunda tabla, alguien sabe porque?
  #2 (permalink)  
Antiguo 12/12/2007, 09:26
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: problemas con creacion de tablas

Tema trasladado a MySQL.

Porfavor publica en los foros correctos.
  #3 (permalink)  
Antiguo 12/12/2007, 09:33
 
Fecha de Ingreso: octubre-2007
Mensajes: 114
Antigüedad: 16 años, 6 meses
Puntos: 0
Re: problemas con creacion de tablas

pido disculpas por publicar mi articulo en un foro equivocado, alguien sabe cual es el problema que espongo en mi articulo?
  #4 (permalink)  
Antiguo 12/12/2007, 09:35
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Re: problemas con creacion de tablas

El error es un error de referencia.
Por definición, la clave foránea en una tabla DEBE ser campo CLAVE en la tabla referida.
En este caso la clave foránea es USUARIO de la tabla PELICULAS, pero en PELICULAS ese campo no es clave, la clave es ID.
  #5 (permalink)  
Antiguo 12/12/2007, 09:42
 
Fecha de Ingreso: octubre-2007
Mensajes: 114
Antigüedad: 16 años, 6 meses
Puntos: 0
Re: problemas con creacion de tablas

y yo podria poner dos claves en la misma tabla?, o sea lo resolveria asi?
  #6 (permalink)  
Antiguo 12/12/2007, 11:10
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Re: problemas con creacion de tablas

La clave en cuestión debe ser clave primaria (PK). Si, se puede poner una clave doble, es decir, una clave compuesta por dos o más campos, pero la clave primaria es (también por definición) única e irrepetible.
Lo que no queda claro en el modelo es qué es lo que están pretendiendo al relacionar esas dos tablas en ese campo. ¿Qué hace un campo USUARIO en una tabla de PELICULAS?

Si lo que estás pretendiendo es conservar el conjunto de películas vistas o usadas por un usuario, te está faltando una tabla que relacione ambas cosas, por ejemplo:
ALQUILERES(peliculas.id, usuarios.email)
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 05:41.