Estoy creando una nueva tabla dentro de mysql y estoy tratando de agregar una restricción de clave externa a uno de los campos.Teclas foráneas que desaparecen en phpMyAdmin
CREATE TABLE `onlineorder` ( `receiptid` varchar(10) NOT NULL default '', `delivereddate` date default NULL, `cid` int(10) NOT NULL, `card#` int(10) default NULL, `expire` date default NULL, PRIMARY KEY (`receiptid`), FOREIGN KEY (receiptid) REFERENCES purchase ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
Sin embargo, después de que lo crea, voy a phpMyAdmin y exporto la tabla. y parece que la restricción de la clave externa ha desaparecido.
CREATE TABLE `onlineorder` ( `receiptid` varchar(10) NOT NULL default '', `delivereddate` date default NULL, `cid` int(10) NOT NULL, `card#` int(10) default NULL, `expire` date default NULL, PRIMARY KEY (`receiptid`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
¿Elimina phpMyAdmin las claves externas o estoy haciendo algo mal aquí?
incluso con InnoDB la exportación no incluye la clave externa. (para mí) – sdfor
ok lo descubrí. en la vista de relación, estaba agregando la clave foriegn en la columna de relaciones internas. mi error. debe ser ingresado en la siguiente columna. – sdfor
De acuerdo, es una manera terrible de haberlo codificado. –