Samedi 17 Mai 2008 
Homepage
   Ordre alphabétique
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
0 1 2 3 4 5 6 7 8 9
   Par catégories
Moteur (139)
Annuaire (1384)
Spécialisé (466)
Payant (42)
   Par pays
   Par langue
   PHP - MYSQL
Manuel PHP
Manuel MYSQL
Portion de code
   Outils webmasters
Générer Méta-tags
Générer .htaccess
   Partenaires
Bouches du rhone
Camargue
Arles
Cybersaladelle
Arles-Inform
Vietnam
 
Syntaxe de REPLACE
REPLACE [LOW_PRIORITY | DELAYED]
[INTO] tbl_name [(col_name,...)]
VALUES ({expr | DEFAULT},...),(...),...

ou :

REPLACE [LOW_PRIORITY | DELAYED]
[INTO] tbl_name
SET col_name={expr | DEFAULT}, ...

ou :

REPLACE [LOW_PRIORITY | DELAYED]
[INTO] tbl_name [(col_name,...)]
SELECT ...

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.

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. Il devient équivalent à INSERT, car il n'y a pas d'index à utiliser pour déterminer si un nouvelle ligne est un double d'une autre.

Voici quelques détails sur l'algorithme utilisé : Il est aussi utilisé par LOAD DATA ... REPLACE.
- Insertion de la ligne dans la table
- Si une erreur de clé dupliqué ou de clé unique ou de clé primaire survient :
    Annuler les changements de clés
    Essayer à nouveau d'insérer la clé primaire et unique dans la table


MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.
 
   Menu
Ajouter un moteur
Faire un lien
Annuaire
   Ressources
Ban 468 x 60
Ban 234 x 60
Ban 120 x 60
Logo 88 x 31
Templates
Textures
Police de caractère
Gifs animés
Cliparts
Avatars
Icones
   Gifs animés
Animaux
Alimentation
Personnage
Transport
Sport
Musique
Nature
Objet
   Cliparts
Cuisine
Enfants
Femmes
Machines
Mains
Medecine
Ordinateurs
   Services divers
Programme TV
Sortie Cinéma
Sortie DVD
 
Copyright © 2006. Universurf. All rights reserved
Cybersaladelle.com - Camargue.net - Bouches-du-rhone.com - LesAlpilles.com - Arles-camargue.com - Universmicro.com
Les-saintes-maries-de-la-mer.com - Lessaintesmariesdelamer.com - Camargue-Arles.com - Camargue.org - Mejanes.com
Universurf.com - Universurf.fr - Universurf.net - Universurf.ch