sql >> Databáze >  >> RDS >> Mysql

Provádění změn ve více záznamech na základě změny jednoho záznamu pomocí SQL

To vyžaduje složitý dotaz, který aktualizuje mnoho záznamů. Ale malá změna ve vašich datech může věci změnit tak, že toho lze dosáhnout pomocí jednoduchého dotazu, který upravuje pouze jeden záznam.

UPDATE my_table set position = position*10;

Za starých časů měl programovací jazyk BASIC na mnoha systémech čísla řádků, což podporovalo kód špagety. Místo funkcí mnoho lidí napsalo GOTO line_number . Skutečný problém nastal, pokud jste řádky očíslovali postupně a museli jste přidat nebo odstranit několik řádků. Jak to lidé obcházeli? Zvyšováním řádků o 10! To je to, co tady děláme.

Takže chcete, aby hrušky byly druhou položkou?

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

Obáváte se, že mezery mezi položkami zmizí po vícenásobném přeskupení? Žádný strach, prostě to udělej

UPDATE my_table set position = position*10;

Čas od času.



  1. Použití aliasu ve výpočtech SQL

  2. Průvodce návrhem databáze pro hlasování a průzkum v MySQL

  3. Protokol transakcí serveru SQL – část 1

  4. Jak zjistím poslední den předchozího měsíce pomocí PostgreSQL?