Tous les produits
Search
Centre de documentation

AnalyticDB:UPDATE

Dernière mise à jour :Aug 10, 2026

Utilisez l'instruction UPDATE pour modifier les données d'une table unique ou de plusieurs tables dans AnalyticDB for MySQL.

Limitations

  • La table cible doit posséder une clé primaire.

  • Les colonnes de la clé primaire ne peuvent pas être mises à jour.

  • Les clauses ORDER BY et LIMIT sont prises en charge uniquement pour les mises à jour sur une table unique.

  • Les mises à jour multitable ne prennent en charge la jointure d'au maximum deux tables.

  • Chaque instruction UPDATE ne peut cibler qu'une seule table. La table à modifier doit apparaître en premier dans l'instruction.

  • L'instruction UPDATE multitable nécessite AnalyticDB for MySQL V3.1.6.4 ou une version ultérieure. Pour vérifier ou mettre à niveau la version de votre cluster, accédez à la page Cluster Information dans la console AnalyticDB for MySQL et consultez la section Configuration Information. Pour obtenir des instructions sur la mise à jour de la version mineure, consultez Mettre à jour la version mineure d'un cluster.

Mettre à jour une table unique

Syntaxe

UPDATE table_name
    SET assignment_list
    [WHERE where_condition]
    [ORDER BY ...]
    [LIMIT ...]

Mettre à jour une ligne par ID

Modifiez le nom du client 2369 en Claire :

UPDATE customer
SET customer_name = 'Claire'
WHERE customer_id = '2369';

Pour vérifier la mise à jour :

SELECT customer_id, customer_name
FROM customer
WHERE customer_id = '2369';

Mettre à jour plusieurs tables

Utilisez une clause JOIN pour lire les valeurs d'une seconde table et écrire les mises à jour dans la première table.

Syntaxe

UPDATE table_name1
[INNER JOIN | LEFT JOIN] table_name2 ON table_name1.column = table_name2.column
SET assignment_list
[WHERE where_condition]
Placez la table à mettre à jour en premier dans l'instruction UPDATE .

Mettre à jour une colonne à l'aide de LEFT JOIN

Modifiez l'âge du client 2369 en utilisant un enregistrement correspondant dans new_customer :

UPDATE customer
    LEFT JOIN new_customer ON customer.customer_id = new_customer.customer_id
SET customer.customer_age = 42
WHERE new_customer.customer_id = '2369';

Pour vérifier la mise à jour :

SELECT customer_id, customer_age
FROM customer
WHERE customer_id = '2369';

Mettre à jour une colonne à l'aide de INNER JOIN

Copiez customer_name depuis new_customer vers customer en fonction d'un customer_id correspondant :

UPDATE customer
    INNER JOIN new_customer ON customer.customer_id = new_customer.customer_id
SET customer.customer_name = new_customer.customer_name;

Définissez customer_id sur 2369 pour toutes les lignes où le nom du client correspond entre customer et new_customer :

UPDATE customer
    INNER JOIN new_customer ON customer.customer_name = new_customer.customer_name
SET customer.customer_id = '2369';

Définir une colonne sur une valeur fixe

Définissez customer_id sur 1 pour toutes les lignes de customer où le nom du client correspond à une ligne de new_customer :

UPDATE customer
    LEFT JOIN new_customer ON customer.customer_name = new_customer.customer_name
SET customer.customer_id = '1';

Notes d'utilisation

Mises à jour fréquentes avec INSERT ON DUPLICATE KEY UPDATE

L'exécution de INSERT ON DUPLICATE KEY UPDATE à plus de 100 QPS ou sur de grands volumes de données peut augmenter considérablement l'utilisation du CPU. Pour les charges de travail upsert à haut débit, utilisez plutôt REPLACE INTO. Pour plus d'informations, consultez REPLACE INTO.