sql >> Base de Datos >  >> RDS >> Mysql

Realización de cambios en varios registros basados ​​en el cambio de un solo registro con SQL

Esto requiere una consulta compleja que actualiza muchos registros. Pero un pequeño cambio en sus datos puede cambiar las cosas para que se pueda lograr con una consulta simple que modifica solo un registro.

UPDATE my_table set position = position*10;

En los viejos tiempos, el lenguaje de programación BASIC en muchos sistemas tenía números de línea, fomentaba el código spagetti. En lugar de funciones, muchas personas escribieron GOTO line_number . Surgían verdaderos problemas si numeraba las líneas secuencialmente y tenía que agregar o eliminar algunas líneas. ¿Cómo lo sorteó la gente? ¡Por líneas de incremento en 10! Eso es lo que estamos haciendo aquí.

Entonces, ¿quieres que las peras sean el segundo artículo?

UPDATE my_table set position = 15 WHERE listId=1 AND name = 'Pears'

¿Le preocupa que eventualmente desaparezcan los espacios entre los artículos después de múltiples reordenaciones? Sin miedo solo hazlo

UPDATE my_table set position = position*10;

De vez en cuando.