Ver Mensaje Individual
  #2 (permalink)  
Antiguo 09/07/2003, 20:14
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 4 meses
Puntos: 129
Depende de la versión de Mysql que uses y del tipo de tablas que uses ...

Las claves foráneas directamente (cuando digo directamente me refiero que así se definan como propiedad del campo que sea llave "key" ) hasta Mysql 4.1.x no son soportadas en todos los típos de tablas; ejemplo en MyISAM que suele ser el más usado y el "por defecto" .. Podrías usarlo con tablas InnoDB (lo que no recuerdo desde que versión de Mysql ..)

Para solventar ese "problema" .. en Mysql (todas las versiones y todo típo de tablas) se suele hacer estructuras de tus tablas típo:

tabla_padre:
id_tabla_padre
id_tabla_hija
campo1
campo2
campoN

tabla_hija:
id_tabla_hija
campo1
campo2
campoN


Y tus consultas típo:

Código:
SELECT tabla_padre.*,tabla_hija.* FROM tabla_padre,tabla_hija WHERE tabla_padre.id_tabla_hija = tabla_hija.id_tabla_hija AND resto_de_condiciones_si_las_necestias
Esto vendría a ser una relación 1->N

El caso que la "integridad referencial" de los datos (de esos "ID") la tienes que mantener tu a mano (tu programación) .. Mysql no la respeta por eso debes hacerlo tu.

Si quieres aprender sobre Claves foráneas para Msyql 3.23.44 en tablas InnoDB:
http://www.mysql.com/doc/en/ANSI_diff_Foreign_Keys.html

Y en general en www.mysql.com/doc encontraras mas información al respecto.


Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.