¿Cómo puedo saber cuándo se actualizó por última vez una tabla MySQL?

Resuelto RaGE asked hace 16 años • 17 respuestas

En el pie de página de mi página, me gustaría agregar algo como "última actualización el xx/xx/200x" siendo esta fecha la última vez que se actualizó una determinada tabla MySQL.

¿Cuál es la mejor manera de hacer eso? ¿Existe una función para recuperar la última fecha actualizada? ¿Debo acceder a la base de datos cada vez que necesito este valor?

RaGE avatar Nov 21 '08 07:11 RaGE
Aceptado

En versiones posteriores de MySQL, puede usar la information_schemabase de datos para indicarle cuándo se actualizó otra tabla:

SELECT UPDATE_TIME
FROM   information_schema.tables
WHERE  TABLE_SCHEMA = 'dbname'
   AND TABLE_NAME = 'tabname'

Por supuesto, esto significa abrir una conexión a la base de datos.


Una opción alternativa sería "tocar" un archivo en particular cada vez que se actualiza la tabla MySQL:

Sobre actualizaciones de bases de datos:

  • Abra su archivo de marca de tiempo en O_RDRWmodo
  • closeeso de nuevo

o alternativamente

  • use touch(), el equivalente PHP de la utimes()función, para cambiar la marca de tiempo del archivo.

Visualización en página:

  • utilícelo stat()para volver a leer la hora de modificación del archivo.
Alnitak avatar Nov 21 '2008 01:11 Alnitak

No tengo la base de datos information_schema, usando mysql versión 4.1.16, así que en este caso puedes consultar esto:

SHOW TABLE STATUS FROM your_database LIKE 'your_table';

Devolverá estas columnas:

| Nombre | Motor | Versión | formato_fila | Filas | Longitud_fila_promedio 
| Longitud_datos | Longitud_máxima_datos | Longitud_índice | Datos_libres | incremento_automático
| Crear_hora | Hora_actualización | Hora_de verificación | Cotejo
| Suma de comprobación | Crear_opciones | Comentar |

Como puede ver, hay una columna llamada: " Update_time " que muestra la última hora de actualización de your_table .

Radu Maris avatar Jul 12 '2010 10:07 Radu Maris

Lo más sencillo sería comprobar la marca de tiempo de los archivos de la tabla en el disco. Por ejemplo, puede consultar en su directorio de datos

cd /var/lib/mysql/<mydatabase>
ls -lhtr *.ibd

Esto debería darle la lista de todas las tablas con la tabla cuando se modificó por última vez, la más antigua, primero.

user2654744 avatar Apr 14 '2016 21:04 user2654744