IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Connaitre les champs updatés


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Novembre 2006
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 42
    Par défaut Connaitre les champs updatés
    Après avoir fait un UPDATE sur une table mysql avec un WHERE sur un identinfiant unique je peux savoir si la table à été réellement updaté avec la fonction mysql_affected_rows.
    Je souhaiterais connaitre les champs mis à jour la fonction mysql_info donne un certain nombres d'informations mais pas celle là.
    Quelqu'un aurait il une idée merci.

  2. #2
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    Bonjour,

    Tu as:
    Lorsque vous utilisez UPDATE, MySQL ne mettra pas à jour les colonnes si la nouvelle valeur est identique à l'ancienne. Il est donc possible que mysql_affected_rows() ne représente pas forcément le nombre de lignes correspondantes mais plutôt le nombre de lignes qui ont été réellement affectées par la requête.

    Ps: La fonction mysql_info ne travaille que sur les rows de la requête et donc pour un update le nbr de lignes lues et le nbr de lignes updatées. Pour avoir une meilleure précision sur les champs va falloir passer par deux requêtes.

  3. #3
    Membre averti
    Inscrit en
    Novembre 2006
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 42
    Par défaut Connaitre les champs updatés
    Citation Envoyé par Fench Voir le message
    Bonjour,

    Tu as:
    Lorsque vous utilisez UPDATE, MySQL ne mettra pas à jour les colonnes si la nouvelle valeur est identique à l'ancienne. Il est donc possible que mysql_affected_rows() ne représente pas forcément le nombre de lignes correspondantes mais plutôt le nombre de lignes qui ont été réellement affectées par la requête.

    Ps: La fonction mysql_info ne travaille que sur les rows de la requête et donc pour un update le nbr de lignes lues et le nbr de lignes updatées. Pour avoir une meilleure précision sur les champs va falloir passer par deux requêtes.
    Merci !!!
    Pour cette application on me demande d'historiser dans une autre table (historique) tous les changements effectués a ce moment la je pourrais comparer les valeurs des champs en faisant 2 requetes sur les version historisées

Discussions similaires

  1. [MySQL] Modifier table mysql sans connaitre les champs
    Par rhcp88 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 11/02/2011, 15h08
  2. [MySQL] connaitre les champs d'une table
    Par stc074 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 03/06/2009, 19h43
  3. [MySQL] Les champs sont vides lors d'une mise à jour (update)
    Par gregos13 dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 26/04/2006, 08h01
  4. connaitre les propriétés d'un champ à partir de son nom
    Par toome dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 24/10/2005, 11h16
  5. Réponses: 2
    Dernier message: 04/09/2004, 10h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo