2010-01-05 4 views
1

J'ai ce problème intermittent avec MySQL 5.1.33 (Community Server) pour Windows, où Update_time (lors de l'utilisation de SHOW TABLE STATUS) ne semble pas être mis à jour lors de l'exécution de la commande UPDATE.MySQL: Update_time non mis à jour (Windows)

  1. Après la connexion à MySQL, je commande exécutais "SHOW TABLE STATUS", et il est revenu UPDATE_TIME: 2010-01-05 08:28:27

  2. Je puis exécuté une commande UPDATE sur la même table. Il a réussi, et montre "3501 lignes affectées"

  3. J'ai, encore une fois, exécuté "SHOW TABLE STATUS". Cependant, il est revenu le même UPDATE_TIME que dans # 1 (2010-01-05 08:28:27)

Note: Je l'ai essayé à l'aide INSERT, au lieu de UPDATE et la UPDATE_TIME a été mis à jour.

La commande UPDATE n'est-elle pas supposée affecter le paramètre Update_time de la table? Ce qui m'intrigue davantage, c'est que c'est un problème intermittent. Parfois, la commande UPDATE fonctionne, mais la plupart du temps, cela ne semble pas avoir d'effet sur l'état de la table.

Toute information concernant ce problème serait très utile. Merci!

Répondre

3

Afficher la table Statut

UPDATE_TIME:..

« Lorsque le fichier de données a été mise à jour pour certains moteurs de stockage, cette valeur est NULL Par exemple, les magasins InnoDB plusieurs tables dans son tablespace et l'horodatage du fichier de données ne s'applique pas.Pour MyISAM, l'horodatage du fichier de données est utilisé, mais sous Windows, l'horodatage n'est pas mis à jour par les mises à jour, de sorte que la valeur est inexacte. "

C'est de: Show Table - Update_time

+0

Je vois. Y at-il une solution de contournement à cela? (Quelque chose qui informerait mon script qu'il y a eu des mises à jour à la table.) Veuillez noter que le modèle de base de données actuel n'a pas de champ pour la "dernière mise à jour"). Ou est le seul moyen de résoudre ce problème est d'ajouter le champ d'audit? – Erwin

+0

Je suggérerais d'ajouter un champ ou d'avoir un déclencheur qui insérerait/mettrait à jour des données sur une autre table quand les données sont mises à jour. – CSharpAtl

+0

J'ai aussi joué avec cette solution. Je suppose, il n'y a rien d'autre que je peux utiliser en utilisant seulement les propriétés MySQL par défaut. Tellement pour espérer :). En tout cas, merci beaucoup pour les réponses. :) – Erwin

Questions connexes