Foros del Web » Programando para Internet » PHP »

Como saber si un campo és una clave ajena...

Estas en el tema de Como saber si un campo és una clave ajena... en el foro de PHP en Foros del Web. Hola a todos, con el siguiente código... Código PHP: $PK  = Array(); $atributos  =  mysql_query ( "SHOW COLUMNS FROM tabla" , $link ); if (( $atributos ) && ( mysql_num_rows ( $atributos ...
  #1 (permalink)  
Antiguo 28/12/2005, 10:15
 
Fecha de Ingreso: octubre-2004
Ubicación: Cork (Irlanda)
Mensajes: 161
Antigüedad: 20 años, 1 mes
Puntos: 1
Como saber si un campo és una clave ajena...

Hola a todos, con el siguiente código...

Código PHP:
$PK = Array();
$atributos mysql_query("SHOW COLUMNS FROM tabla",$link);
if ((
$atributos) && (mysql_num_rows($atributos) > 0)){
    while (
$atributo mysql_fetch_assoc($atributos)){
      if (
$atributo["Key"] == "PRI"array_push($PK,$atributo["Field"]);
    };
  }; 
obtengo en un array los nombres de los atributos que forman la clave primaria de "tabla"... ($link es el enlace con la BD)...

Lo que quiero saber es si hay algún método para obtener las claves ajenas de dicha tabla y a que tablas hacen referencia... he probado de la misma forma cambiando "PRI" por otras cosas... pero nada de nada

Si alguien sabe algo le agradecería que me respondiera...

Gracias
  #2 (permalink)  
Antiguo 28/12/2005, 10:22
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Pero .. que versión de Mysql usas? (que soporte y esa tabla tenga definidos las claves foráneas y demás ...)

En tal caso .. dicha propiedad la obtendrías con SQL no con PHP directamente. Consulta el uso o los resultados que arroje SHOW .... en el foro de "Base de datos".

Un saludo,
  #3 (permalink)  
Antiguo 28/12/2005, 10:26
 
Fecha de Ingreso: octubre-2004
Ubicación: Cork (Irlanda)
Mensajes: 161
Antigüedad: 20 años, 1 mes
Puntos: 1
Version 4.1.9

Voy al foro de BD a ver....

Gracias
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:13.