 
			
				30/01/2005, 09:11
			
			
			     |  
      |    |    |    Fecha de Ingreso: julio-2003  Ubicación: España  
						Mensajes: 723
					  Antigüedad: 22 años, 3 meses Puntos: 0     |        |  
  |      clave foránea de más de una tabla        Tengo varias tablas en mysql, todas tienen un campo identificador autonumérico.   
Por ejemplo:   
Tabla musica y software   
Y una tabla comentarios.   
El detalle está en que quiero permitir dejar un comentario sobre una canción o sobre una discoteca o sobre lo que sea, de manera que en la tabla comentarios voy a necesitar un campo que sea clave foránea de varias tablas...   
Y no sé cómo hacer referencia a varios campos... lo que tengo es esto:     
CREATE TABLE `comentarios` ( 
  `identificador` int(9) NOT NULL auto_increment, 
  `ident` int(9) NOT NULL default '0', 
  `tabla` varchar(20) collate latin1_spanish_ci NOT NULL default '', 
  `comentario` varchar(255) collate latin1_spanish_ci NOT NULL default '', 
  PRIMARY KEY  (`identificador`), 
  UNIQUE (`ident`), 
  FOREIGN KEY (`ident`) REFERENCES musica(`identificador`) ON DELETE CASCADE ON UPDATE CASCADE 
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_spanish_ci ;   
ident va ha ser el identificador de las otras tablas (recordemos que todas tienen el mismo campo de clave primaria: identificador int(9) autonumerico)   
Entonces dónde tengo ésto:   
FOREIGN KEY (`ident`) REFERENCES musica(`identificador`) ON DELETE CASCADE ON UPDATE CASCADE   
debería poner algo así:   
FOREIGN KEY (`ident`) REFERENCES musica(`identificador`),software(`identificador`) ON DELETE CASCADE ON DELETE CASCADE   
Pero el phpmyadmin devuelve un error diciendo que la sintaxis no es correcta.   
Cómo se hace? o lo que es más importante: se puede hacer, no?   
Saludos.     
				__________________  Solo nosotros podemos decidir qué hacer con el tiempo que se nos ha dado. (Gandalf)           |