Todos los productos
Search
Centro de documentos

:UPDATE

Última actualización: Sep 04, 2026

Utilice la instrucción UPDATE para modificar datos en una o varias tablas de AnalyticDB for MySQL.

Limitaciones

  • La tabla destino debe tener una clave primaria.

  • No es posible modificar las columnas de clave primaria.

  • Las cláusulas ORDER BY y LIMIT solo son compatibles con actualizaciones de una sola tabla.

  • Las actualizaciones de varias tablas admiten la combinación de dos tablas como máximo.

  • Cada instrucción UPDATE solo puede afectar a una tabla. La tabla por modificar debe aparecer primero en la instrucción.

  • La instrucción UPDATE para varias tablas requiere AnalyticDB for MySQL V3.1.6.4 o posterior. Para comprobar o actualizar la versión de su clúster, vaya a la página Cluster Information en la consola de AnalyticDB for MySQL y consulte la sección Configuration Information. Para obtener instrucciones sobre cómo actualizar la versión menor, consulte Actualización de la versión menor de un clúster.

Actualización de una sola tabla

Sintaxis

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

Actualización de una fila por ID

Cambie el nombre del cliente 2369 a Claire:

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

Para comprobar la actualización:

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

Actualización de varias tablas

Utilice una cláusula JOIN para leer valores de una segunda tabla y escribir las actualizaciones en la primera.

Sintaxis

UPDATE table_name1
[INNER JOIN | LEFT JOIN] table_name2 ON table_name1.column = table_name2.column
SET assignment_list
[WHERE where_condition]
Coloque la tabla por actualizar en primer lugar dentro de la instrucción UPDATE.

Actualización de una columna mediante LEFT JOIN

Modifique la edad del cliente 2369 con base en un registro coincidente de 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';

Para comprobar la actualización:

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

Actualización de una columna mediante INNER JOIN

Copie customer_name de new_customer a customer según la coincidencia de customer_id:

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

Establezca customer_id en 2369 para todas las filas donde el nombre del cliente coincida entre customer y new_customer:

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

Asignación de un valor fijo a una columna

Establezca customer_id en 1 para todas las filas de customer cuyo nombre de cliente coincida con una fila de new_customer:

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

Notas de uso

Actualizaciones frecuentes con INSERT ON DUPLICATE KEY UPDATE

Ejecutar INSERT ON DUPLICATE KEY UPDATE a más de 100 QPS o con grandes volúmenes de datos puede aumentar significativamente el uso de CPU. Para cargas de trabajo de inserción o actualización (upsert) de alto rendimiento, utilice REPLACE INTO en su lugar. Para obtener más información, consulte REPLACE INTO.