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

MySQL Error 1005 No se puede crear la tabla '. \ MyDB \ # sql-328_45.frm' (errno: 150

Estas en el tema de MySQL Error 1005 No se puede crear la tabla '. \ MyDB \ # sql-328_45.frm' (errno: 150 en el foro de Mysql en Foros del Web. tengo 2 tablas , y esta todo re bien , los comandos por q es un backup que me dieron y tiene que andar , ...
  #1 (permalink)  
Antiguo 03/11/2009, 21:47
 
Fecha de Ingreso: noviembre-2008
Mensajes: 62
Antigüedad: 15 años, 5 meses
Puntos: 0
MySQL Error 1005 No se puede crear la tabla '. \ MyDB \ # sql-328_45.frm' (errno: 150

tengo 2 tablas , y esta todo re bien , los comandos por q es un backup que me dieron y tiene que andar , en el laburo , despues de tanto renegar no toke nada y se arreglo e hizo la relacion pero aca en mi casa no, estoy usando MysqlFront,

Todos tienen datos adentro y me tira ese error horrible por dios. que molesto que es.

los puntos que puse es que sigue teniendo otras columnas

CREATE TABLE `encuesta` (
`id_encuesta` int(11) NOT NULL auto_increment,
`id_usuario` int(11) NOT NULL,
`fecha_encuesta` date default NULL,
`estado` varchar(5) character set latin1 collate latin1_spanish_ci default NULL,
..
..
..
PRIMARY KEY (`id_encuesta`),
KEY `fk_usuario_encuesta` (`id_usuario`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=4685 ;.

CREATE TABLE `usuario` (
`id_usuario` int(11) NOT NULL auto_increment,
`id_permiso` int(11) NOT NULL default '2',
`id_estado` int(11) NOT NULL default '0',
..
..
..
PRIMARY KEY (`id_usuario`),
KEY `index_usuario_email` (`email`),
KEY `index_usuario_pass` (`pass`),
KEY `fk_usuario_estado` (`id_estado`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=3700 ;


CREATE TABLE `estado` (
`id_estado` int(11) NOT NULL,
`descripcion` varchar(200) character set latin1 collate latin1_spanish_ci default NULL,
PRIMARY KEY (`id_estado`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;



ALTER TABLE `encuesta`
ADD CONSTRAINT `fk_usuario_encuesta` FOREIGN KEY (`id_usuario`) REFERENCES `usuario` (`id_usuario`);

ALTER TABLE `usuario`
ADD CONSTRAINT `fk_usuario_estado` FOREIGN KEY (`id_estado`) REFERENCES `estado` (`id_estado`);
  #2 (permalink)  
Antiguo 03/11/2009, 22:01
 
Fecha de Ingreso: noviembre-2009
Mensajes: 5
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: MySQL Error 1005 No se puede crear la tabla '. \ MyDB \ # sql-328_45.frm'

En este mismo foro hay un tema:

w ww . forosdelweb . com/f86/relaciones-phpmyadmin-511976/

(lo pongo asi porque no me deja poner links)

Que al final pareciera hberse encontrado solucion, para esa ocacion era el orden en que se generaban y se referenciaban las key (estaban haciendolo todo al mismo tiempo, cuando se deberia hacer en un detemrinado orden). Fijate si no te está sucediendo lo mismo.

Saludos
  #3 (permalink)  
Antiguo 04/11/2009, 04:20
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, 4 meses
Puntos: 2658
Respuesta: MySQL Error 1005 No se puede crear la tabla '. \ MyDB \ # sql-328_45.frm'

Ese es el caso: La tabla USUARIO debe crearse antes de la tabla ENCUESTA.

Fíjate bien el orden de creación. Las tablas de donde se toman las FK deben crearse siempre antes de intentar crear una FK que apunte a ella.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #4 (permalink)  
Antiguo 04/11/2009, 09:14
 
Fecha de Ingreso: noviembre-2008
Mensajes: 62
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: MySQL Error 1005 No se puede crear la tabla '. \ MyDB \ # sql-328_45.frm'

buenas respuestas , pruebo y les comento.
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 22:17.