Mysql
 sql >> Baza danych >  >> RDS >> Mysql

MySQL Aktualizacja wielu wierszy w jednej kolumnie na podstawie wartości z tej samej kolumny

Prawdopodobnie powinieneś zaktualizować wartości w oparciu nie tylko o wartość value ale na wartości key , w przeciwnym razie możesz zmienić „m” na „mężczyzna”, gdy kluczem jest „rozmiar koszuli”.

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Odśwież zawartość automatycznie, jeśli zmieni się baza danych

  2. Zaktualizuj połączoną tabelę za pomocą SQLAlchemy ORM przy użyciu session.query

  3. JDBC konwertuje znacznik czasu na NULL (problem zeroDateTimeBehavior)

  4. jak mysql_fetch_array na połączonych tabelach, ale kolumny mają taką samą nazwę?

  5. Pokaż wszystkie daty między, nawet jeśli nie ma wyników