UPDATE [LOW_PRIORITY] nom_table SET nom_colonne1=expr1,nom_colonne2=expr2,...
[WHERE where_definition] [LIMIT #]
UPDATE
met à jour une ligne éxistante dans une table. La clause SET
indique quelles colonnes modifier, et quelles valeurs mettre dans ces colonnes. La conditions WHERE
permet de choisir quelles lignes sont à mettre à jour. Sinon, toutes les lignes sont mises à jour
L'option LOW_PRIORITY
, permet de retarder l'exécution de la requête jusqu'au moment où il n'y a plus de client qui lisent la table
Lors de l'accès à une colonne de la table Nom_table
dans une expression, UPDATE
utilise la valeur courante de la colonne. Par exemple, la requête suivante ajoute 1 à la colonne age
.
mysql> UPDATE persondata SET age=age+1;
Les commandes UPDATE
sont évaluées de gauche à droite. Par exemple, la requête suivante double la colonne age
, puis l'incrémente d'une unité :
mysql> UPDATE persondata SET age=age*2, age=age+1;
Affecter la valeur courante d'une colonne lors d'une commande UPDATE
conduit MySQL à ignore cette mise à jour.
La commande UPDATE
retourne le nombre de ligne qui ont été effectivement modifiées.. A partir de MySQL 3.22, la fonction C API mysql_info()
nombre de ligne qui ont été trouvées et effectivement modifiées, puis le nombre de warnings de la commande UPDATE
.