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

Encontrar referencias a un dato

Estas en el tema de Encontrar referencias a un dato en el foro de Mysql en Foros del Web. Hola hago la consulta porque googlee y no encontré nada "hecho". Tengo varios sistemas que utilizan una única tabla personas, por lo que un registro ...
  #1 (permalink)  
Antiguo 21/11/2014, 06:51
 
Fecha de Ingreso: mayo-2011
Mensajes: 3
Antigüedad: 12 años, 11 meses
Puntos: 0
Encontrar referencias a un dato

Hola

hago la consulta porque googlee y no encontré nada "hecho".

Tengo varios sistemas que utilizan una única tabla personas, por lo que un registro de ésta tabla puede estar referenciado por mas de una tabla

mi consulta: existe alguna forma automática de encontrar en que tabla se usa un registro en particular de la tabla personas utilizando la información de las estructuras

saludos y gracias
  #2 (permalink)  
Antiguo 21/11/2014, 06:59
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: Encontrar referencias a un dato

Cita:
existe alguna forma automática de encontrar en que tabla se usa un registro en particular de la tabla personas utilizando la información de las estructuras
En BBDD no existen formas "automágicas" de hacer cosas. El SQL es un lenguaje imperativo, por lo que sólo puedes averiguar algo cuando se lo ordenas específicamente.
Mas allá de eso, MySQL, como todos los DBMS, tiene una base especial con tablas que contienen información de las bases, tablas, columnas, indices, procedimientos, etc, que contienen todas y cada unas de las bases que se encuentran en el servidor.
La base que contiene toda esa data es INFROMATION_SCHEMA, pero para usarla para obtener datos de la referenciacion de una tabla desde otra hay que conocer un poco su uso y la estructura de las tablas, a fin de saber qué buscar y dónde.
Hay un capitulo entero del manual de referencia dedicado a esa base, que entre otras cosas no puede ser modificada por los usuarios. La usa internamente MySQL para sus tareas kernel.

Sobre la base de una de esas tablas, sabiendo su nombre se puede averiguar qué otras tablas apuntan a ella, en tanto ambas tablas sean InnoDB y no MyISAM (salvedad importante).

http://dev.mysql.com/doc/refman/5.7/...on-schema.html

http://dev.mysql.com/doc/refman/5.7/..._s-tables.html

http://dev.mysql.com/doc/refman/5.7/...ols-table.html

Lamento si te resulta demasiado técnico, pero en este rubro (BBDD) es todo así...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: dato, encontrar, referencias, registro, tabla
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 02:34.