sql >> Databasteknik >  >> RDS >> Mysql

Göra ändringar i flera poster baserat på ändring av en enda post med SQL

Detta kräver en komplex fråga som uppdaterar många poster. Men en liten ändring av dina data kan ändra saker så att de kan uppnås med en enkel fråga som bara ändrar en post.

UPDATE my_table set position = position*10;

Förr i tiden hade BASIC-programmeringsspråket på många system radnummer, det uppmuntrade spagettikod. Istället för funktioner skrev många människor GOTO line_number . Verkliga problem uppstod om du numrerade raderna sekventiellt och var tvungen att lägga till eller ta bort några rader. Hur kom folk runt det? Öka raderna med 10! Det är vad vi gör här.

Så du vill att päron ska vara det andra föremålet?

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

Orolig för att luckor mellan varorna så småningom kommer att försvinna efter flera ombeställningar? Ingen rädsla bara gör

UPDATE my_table set position = position*10;

Då och då.



  1. Hur väljer man de senaste fyra föremålen per kategori?

  2. Hur man bäst lagrar användarinformation och användarinloggning och lösenord

  3. MySQL - length() vs char_length()

  4. Föråldrade funktioner att ta ur din verktygslåda – Del 1