Services webmasters
Partenaires
Jeux concours gratuits
 
Syntaxe de TRUNCATE
<<<
Syntaxe de REPLACE Syntaxe de LOAD DATA INFILE
>>>

6.4 Manipulation de données : SELECT , INSERT , UPDATE , DELETE
6 Référence du langage MySQL
 Manuel de Référence MySQL 4.1 : Version Française

Syntaxe de SELECT
Syntaxe de HANDLER
Syntaxe de INSERT
Syntaxe de INSERT DELAYED
Syntaxe de UPDATE
Syntaxe de DELETE
Syntaxe de TRUNCATE
->Syntaxe de REPLACE
Syntaxe de LOAD DATA INFILE
Syntaxe de DO

6.4.8 Syntaxe de REPLACE


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 .

<< Syntaxe de REPLACE >>
Syntaxe de TRUNCATE Manipulation de données : SELECT , INSERT , UPDATE , DELETE Syntaxe de LOAD DATA INFILE
Services webmasters
Les manuels
 
CoursPHP.com - Reproduction interdite -