Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Show foreign key

Estas en el tema de Show foreign key en el foro de Mysql en Foros del Web. Hola compañeros. He intentado buscar si existe algo en MYSQL que te diga : - Cuales son las claves externas que tiene una tabla y ...
  #1 (permalink)  
Antiguo 02/11/2008, 04:17
Avatar de lcervantes  
Fecha de Ingreso: abril-2002
Mensajes: 137
Antigüedad: 22 años
Puntos: 0
De acuerdo Show foreign key

Hola compañeros.
He intentado buscar si existe algo en MYSQL que te diga :
- Cuales son las claves externas que tiene una tabla y en que tabla se ve afectada.

o bien

- Una TABLA A que tiene clave primaria y claves externas, busco que tablas son las que tiene las claves externa de la TABLA A, con sus respectivos campos relacionados.

He intentado mirar si existe un Show Foreing Keys pero creo que no, porque no encunetro nada.
Tambien he intentado ver si en show columns form tabla encuentro información adicional, pero nada.
Tampos encuentro alguna tabla del sistema donde se guarde ese timpo de información.

Alguna idea.?

Gracias por vuestra colaboración

Saludos,
__________________
LCervantes
--------------------------------------------
www.nerrots.es
  #2 (permalink)  
Antiguo 02/11/2008, 07:03
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Show foreign key

Puedes usar
Código sql:
Ver original
  1. DESCRIBE nombreTabla;

Esto te devolverá una tabla con los nombres de todos los campos, su tipo de datos, si admite NULL y el tipo de campo en cuestión. Cuando es Primary Key, indica PK, si es Foreign Key te pone FK y pone um MUL cuando el campo referido en su tabla no está declarado como PK, pero sí cómo UNIQUE, caso en el que por default funciona como PK.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 02/11/2008, 09:10
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: Show foreign key

Y como complemento para averiguar el nombre de la tabla y campo con el que se relaciona el Foreign Key, puedes usar
Código sql:
Ver original
  1. SHOW CREATE TABLE nombretabla
  #4 (permalink)  
Antiguo 02/11/2008, 14:26
Avatar de lcervantes  
Fecha de Ingreso: abril-2002
Mensajes: 137
Antigüedad: 22 años
Puntos: 0
De acuerdo Respuesta: Show foreign key

Hola gnzsoloyo, Jurena.
DESCRIBE nombre tabla me sirve para saber que cuales son las PK y FK y campos normales de una tabla.
Pero ahora me falta encontrar la otra parte.
Es decir necesito saber que tablas tienen como cable externa la clave primaria que tiene una tabla particular.

He intentado buscar algun "Show Relations" o "Show ForeingKeys" pensado que aqui podría encontrar esa información pero no existen estos comandos.

Seguro que debe haber alguna manera de saberlo porque, en el MYSQL al crear una relación le dices con que tabla te relacíonas y con que campo.

Gracias por vuestra ayuda.

Saludos,
__________________
LCervantes
--------------------------------------------
www.nerrots.es
  #5 (permalink)  
Antiguo 02/11/2008, 21:34
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Show foreign key

Toda la información que buscas está en las tablas de la base INFORMATION_SCHEMA, la cual es la base de datos que controla todas las bases y esquemas de datos en MySQL:
CHARACTER_SETS
COLLATIONS
COLLATION_CHARACTER_SET_APPLICABILITY
COLUMNS
COLUMN_PRIVILEGES
KEY_COLUMN_USAGE
PROFILING
ROUTINES
SCHEMATA
SCHEMA_PRIVILEGES
STATISTICS
TABLES
TABLE_CONSTRAINTS
TABLE_PRIVILEGES
TRIGGERS
USER_PRIVILEGES
VIEWS

Otra parte de la información se halla en la base MySQL.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #6 (permalink)  
Antiguo 03/11/2008, 00:05
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: Show foreign key

Si usas tablas MyISAM, eso no lo podrás encontrar, porque las relaciones se establecen sólo en las consultas. Si usas tablas InnoDB, puedes verlo como te ha dicho gnzsoloyo o también usando SHOW CREATE TABLE nombretabla.
  #7 (permalink)  
Antiguo 03/11/2008, 02:57
Avatar de lcervantes  
Fecha de Ingreso: abril-2002
Mensajes: 137
Antigüedad: 22 años
Puntos: 0
Respuesta: Show foreign key

Hola.
Gracias gnzsoloyo, jurena por la información. Miro a ver si lo consigo.
Saludos,
__________________
LCervantes
--------------------------------------------
www.nerrots.es
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 17:48.