Ver Mensaje Individual
  #8 (permalink)  
Antiguo 11/07/2014, 19:43
KenMasters
 
Fecha de Ingreso: abril-2005
Ubicación: Piura - Perú
Mensajes: 189
Antigüedad: 19 años
Puntos: 0
Respuesta: vincular estructura de tablas FOREIGN KEY

El problema esta en si en la tabla "reproducción" cuando intento vincular las tablas Hijas aborto, partos, diagnostico y servicios. como se mencina :

A SU VEZ, REPRODUCCION TIENE HIJOS
TABLA SERVICIO , se debe vincular por medio de reproduccion.servicio a servicio.servicioid
TABLA DIAG , se debe vincular por medio de reproduccion.diagnostico a diag.diagnosticoid
TABLA PARTO, se debe vincular por medio de reproduccion.parto a parto.partoid
TABLA ABORTO, se debe vincular por medio de reproduccion.aborto a aborto.id

por ejemplo cuando quiero crear el FK de la tabla parto por su field "partoid" apuntada a el campo "parto" de la tabla reproduccion me sale error Can't create table '.\fazunp\#sql-874_24c.frm' (errno: 150)

siendo la consulta esta:
Código MySQL:
Ver original
  1. Alter table `fazunp`.`parto`  
  2.   add foreign key (`partoid`) references `fazunp`.`reproduccion`(`Parto`)

Considerar que la tabla reproduccion tiene esta forma :

Código MySQL:
Ver original
  1. CREATE TABLE `reproduccion` (
  2.   `codigo` int(10) unsigned NOT NULL,
  3.   `Servicio` int(10) unsigned NOT NULL,
  4.   `diagnostico` int(10) unsigned NOT NULL,
  5.   `Parto` int(10) unsigned NOT NULL,
  6.   `aborto` int(10) unsigned NOT NULL,
  7.   `numero` varchar(10) NOT NULL,
  8.   PRIMARY KEY  (`id`),
  9.   UNIQUE KEY `diagnostico` (`diagnostico`),
  10.   UNIQUE KEY `parto` (`Parto`),
  11.   UNIQUE KEY `aborto` (`aborto`),
  12.   UNIQUE KEY `servicio` (`Servicio`),
  13.   KEY `codigo` (`codigo`)

y la tabla parto la siguiente estructura :

Código MySQL:
Ver original
  1.  
  2. CREATE TABLE `parto` (
  3.   `partoid` int(10) NOT NULL auto_increment,
  4.   `vacunocod` tinyint(4) default NULL,
  5.   `fecha` date default NULL,
  6.   `sexo` varchar(10) default NULL,
  7.   `operador` varchar(100) default NULL,
  8.   `hijocod` varchar(10) default NULL,
  9.   `observacion` longtext,
  10.   PRIMARY KEY  (`partoid`)

Pero sale ese error, ahora bien el resto de tablas tambien deben de vincularse a la misma tabla "reproduccion" por medio de su PK, y no funciona

PD.: las tablas están vacias

Última edición por KenMasters; 11/07/2014 a las 19:48 Razón: Pd.