MySQL - Como saber las claves foraneas

 
Vista:

Como saber las claves foraneas

Publicado por elmimysql (4 intervenciones) el 15/04/2008 12:32:19
Buenas otra vez. El tema ahora es que cuando hago un describe table me muestra los campos con sus propiedades, pero no indica cual de ellos es foreign key. Primary key si lo indica.
¿Como puedo saber si una tabla tiene claves foraneas y a donde referencian?
Mediante mysql claro
Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Como saber las claves foraneas

Publicado por Gonzalo GC (339 intervenciones) el 15/04/2008 13:09:05
Eso es información que se almacena dentro de la base de datos information_schema, que es de uso interno de MySQL.
En esa base de datos están las tablas que contienen la información de todos los componentes de las bases de datos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Como saber las claves foraneas

Publicado por elmiomysql (4 intervenciones) el 15/04/2008 17:41:25
Gracias, pero lo que me muestra es equivalente a
describe Noombre;
Cierto es que me da las propiedades en relacion a lo que se puede hacer sobre ellas, pero no muestra si un atributo es clave foranea. Primaria si pero foranea o ajena no.

Gracias
Sigo esperando vuestras sugerencias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Como saber las claves foraneas

Publicado por Gonzalo GC (339 intervenciones) el 15/04/2008 23:21:25
Nada más tienes que saber buscar. Cada tabla tiene un uso y guarda información determinada.
TABLES, la descripcion de las tablas;
COLUMNS, las descripciones de las columnas de cada tabla;
TRIGGERS, la info de los trigger asociados a cada tabla;
TABLE_CONTRAINT las restricciones de cada tabla y los index asociados;

y la información del uso de las columnas de cada tabla que se usan de claves ... KEY_COLUMN_USAGE.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Como saber las claves foraneas

Publicado por Arturo (1 intervención) el 17/02/2013 21:13:07
Hey amigo tengo el mismo problema! yo que sepa los schema son vistas que se diseñaron con la ayuda de esas tablas internas, pero la gran pregunta es cuales son esas tablas que guardan esos valores???? por ahi encontre dentro de la base de datos "MYSQL" que tiene unas dos innodb_table_stats donde contiene el nombre de tabla y a que base de datos pertenece , y la otra tabla innodb_index_stats que la verdad no se muy bien a que se refiere pero por ahi si le das un vistazo quizas este ahi lo que necesites.

Bueno para que tengas mas idea en SQL server 2008 tiene unas tablas generales por ejemplo:

sysdatabases -- no da todas las bases de datos
sysobjects-- no hace ver todos los objetos que existe ahi, encontraras los index para cada objeto ejemplo si tieens creado una tabla de una base de datos ahi aparece proporcionado por un "ID"
syscolumns -- aca encontramos todas las columnas de las tablas obvioamente relacionado con los index correspondientes
systypes: encontramos los tipos de datos comopor ejemplo el string su id es "167" creo!
sysforeingkeys-- tabala que relaciona las claves foraneas con la tabla y a que tabla pertenece
sysindexkeys -- tambien es una tabla que relaciona las claves primarias con las tablas

Bueno tendrias que revisarlo bien!! espero tambien encontrar esas tablas que relacionan los foreing keys con sus respectivas tablas :D
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar