Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Änderungen an mehreren Datensätzen basierend auf der Änderung eines einzelnen Datensatzes mit SQL vornehmen

Dies erfordert eine komplexe Abfrage, die viele Datensätze aktualisiert. Aber eine kleine Änderung an Ihren Daten kann die Dinge ändern, sodass dies mit einer einfachen Abfrage erreicht werden kann, die nur einen Datensatz ändert.

UPDATE my_table set position = position*10;

Früher hatte die Programmiersprache BASIC auf vielen Systemen Zeilennummern, was Spaghetti-Code förderte. Anstelle von Funktionen haben viele Leute GOTO line_number geschrieben . Echte Probleme entstanden, wenn Sie die Zeilen fortlaufend nummerierten und einige Zeilen hinzufügen oder löschen mussten. Wie sind die Leute darum herumgekommen? Indem Sie die Zeilen um 10 erhöhen! Das tun wir hier.

Sie möchten also, dass Birnen das zweite Element sind?

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

Befürchten Sie, dass eventuelle Lücken zwischen den Artikeln nach mehrmaligem Nachbestellen verschwinden? Keine Angst, mach einfach

UPDATE my_table set position = position*10;

Von Zeit zu Zeit.