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

MySQL Aktualizace více řádků v jednom sloupci na základě hodnot ze stejného sloupce

Pravděpodobně byste měli aktualizovat hodnoty nejen na základě hodnoty value ale na hodnotě key , jinak byste mohli aktualizovat 'm' na 'male', když je klíč 'shirt-size'.

UPDATE `DemoGroup` 
SET `value` = CASE 
    WHEN (`key`, `value`) = ('gender', 'm') THEN 'male'
    WHEN (`key`, `value`) = ('gender', 'f') THEN 'female'
    WHEN (`key`, `value`) = ('age', '10')   THEN '10-19'
    WHEN (`key`, `value`) = ('age', '80')   THEN '80-89'
    ELSE `value` -- no-op for other values
  END 
WHERE `key` IN ('gender','age');


  1. Objednejte řetězec varchar jako číselný

  2. Spočítejte všechny záznamy z databáze, kde se datum splatnosti shoduje s dnešním datem

  3. SQL pro kontrolu, zda je databáze prázdná (žádné tabulky)

  4. Přidat sloupec MySQL, pokud neexistuje