Aller au contenu
  • Pas encore inscrit ?

    Pourquoi ne pas vous inscrire ? C'est simple, rapide et gratuit.
    Pour en savoir plus, lisez Les avantages de l'inscription... et la Charte de Zébulon.
    De plus, les messages que vous postez en tant qu'invité restent invisibles tant qu'un modérateur ne les a pas validés. Inscrivez-vous, ce sera un gain de temps pour tout le monde, vous, les helpeurs et les modérateurs ! :wink:

Messages recommandés

Posté(e)

J'ai pas d'exemple concret mais la doc Nexen sur MySQL est très claire :

REPLACE [LOW_PRIORITY | DELAYED]

 

        [iNTO] nom_de_table [(nom_de_colonne,...)]

 

        VALUES (expression,...),(...),...

 

ou  REPLACE [LOW_PRIORITY | DELAYED]

 

        [iNTO] nom_de_table [(nom_de_colonne,...)]

 

        SELECT ...

 

ou  REPLACE [LOW_PRIORITY | DELAYED]

 

        [iNTO] nom_de_table

 

        SET col_name=expression, nom_de_colonne=expression,...

REPLACE fonctionne exactement comme INSERT , sauf que si une vieille ligne dans la table à la même valeur qu'une nouvelle pour un index UNIQUE ou une PRIMARY KEY , la vielle ligne sera effacée avant que la nouvelle ne soit insérée. Syntaxe des INSERT .

 

En d'autres termes, vous ne pouvez pas accéder aux valeurs de l'ancienne ligne à partir d'une requête REPLACE . Dans quelques vieilles versions de MySQL, il apparaît que c'était possible, mais c'etait un dysfonctionnement qui a été corrigé depuis.

Pour utiliser REPLACE vous devez avoir les privilèges INSERT et DELETE sur la table.

 

Quand vous utilisez une commande REPLACE , mysql_affected_rows() retournera 2 si une nouvelle ligne en remplace une existante, et cela parce qu'il y'aura eu une insertion puis une suppression.

Cela aide à savoir si REPLACE a ajouté ou a remplacé une ligne : Testez si le nombre de lignes affectées est égal à 1 (ajout) ou s'il est égal à 2 (remplacement).

 

Notez que si vous n'utilisez pas un index UNIQUE ou une PRIMARY KEY , utiliser un REPLACE n'a pas de sens vu que cela revient à utiliser un INSERT .

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.
Remarque : votre message nécessitera l’approbation d’un modérateur avant de pouvoir être visible.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

  • En ligne récemment   0 membre est en ligne

    • Aucun utilisateur enregistré regarde cette page.
×
×
  • Créer...