sql >> Database >  >> RDS >> Mysql

MySQL Update meerdere rijen in een enkele kolom op basis van waarden uit diezelfde kolom

U moet de waarden waarschijnlijk bijwerken op basis van niet alleen de waarde van value maar op de waarde van key , anders zou je 'm' kunnen updaten naar 'mannelijk' als de sleutel 'shirt-size' is.

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. Breek grote verwijderingsbewerkingen in stukken

  2. Draaien op meerdere kolommen met Tablefunc

  3. sequelize met postgres-database die niet werkt na migratie van mysql

  4. Verbindingstime-out instellen in SQLAlchemy