Ver Mensaje Individual
  #5 (permalink)  
Antiguo 08/03/2008, 01:15
fcopacheco
 
Fecha de Ingreso: enero-2008
Mensajes: 68
Antigüedad: 16 años, 3 meses
Puntos: 1
Re: Ayuda esto es extraño.

creo que la clave foranea la declaraste mal

Código:
DROP TABLE IF EXISTS `subcategorias`;
CREATE TABLE `subcategorias` (
titulo varchar (64) NOT NULL,
titulo_categoria varchar (64) NOT NULL,
descripcion text NOT NULL,
PRIMARY KEY (`titulo`),
FOREIGN KEY (`titulo`) REFERENCES `categorias`(`titulo`) ON UPDATE CASCADE ON DELETE CASCADE
)ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=0 ;
por lo que veo, el campo que se debe relacionar es "titulo_categoria", y en el codigo tu estas relacionando el campo "titulo", lo que debes hacer es cambiar eso


Código:
DROP TABLE IF EXISTS `subcategorias`;
CREATE TABLE `subcategorias` (
titulo varchar (64) NOT NULL,
titulo_categoria varchar (64) NOT NULL,
descripcion text NOT NULL,
PRIMARY KEY (`titulo`),
FOREIGN KEY (`titulo_categoria`) REFERENCES `categorias`(`titulo`) ON UPDATE CASCADE ON DELETE CASCADE
)ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=0 ;
Ahi debería estar todo bien, y bueno, también debes tener en cuenta lo que te dice "gnzsoloyo" ya que es verdad eso, y el error es por lo que él te ha mencionado.