7.16 UPDATE

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.