Mysql
 sql >> Database >  >> RDS >> Mysql

Apportare modifiche a più record in base alla modifica di un singolo record con SQL

Ciò richiede una query complessa che aggiorna molti record. Ma una piccola modifica ai tuoi dati può cambiare le cose in modo che possa essere ottenuta con una semplice query che modifica un solo record.

UPDATE my_table set position = position*10;

Ai vecchi tempi, il linguaggio di programmazione BASIC su molti sistemi aveva numeri di linea, incoraggiava il codice spagetti. Invece di funzioni, molte persone hanno scritto GOTO line_number . Se si numeravano le righe in sequenza e si dovevano aggiungere o eliminare alcune righe, sorgevano veri problemi. Come hanno fatto le persone ad aggirarlo? Incrementando le righe di 10! Questo è ciò che stiamo facendo qui.

Quindi vuoi che le pere siano il secondo elemento?

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

Preoccupato che alla fine gli spazi vuoti tra gli articoli scompaiano dopo più riordini? Nessuna paura e basta

UPDATE my_table set position = position*10;

Di tanto in tanto.