sql >> Database >  >> RDS >> Mysql

MySQL - Update meerdere waarden en WHERE IN

Bent u op zoek naar een case verklaring?

update files
    set name = (case when id = 1 then 'untitled'
                     when id = 2 then 'untitled2'
                     when id = 3 then 'untitled3'
                     when id = 4 then 'untitled4'
                end)
    where id IN (1, 2, 3, 4);

In MySQL kun je dit ook doen met een join :

update files f join
       (select 1 as id, 'untitled' as newname union all
        select 2, 'untitled2' union all
        select 3, 'untitled3' union all
        select 4, 'untitled4'
       ) n
       on f.id = n.id
    f.name = new.newname;

Als u veel waarden heeft, kunt u een tabel maken met de waarden afzonderlijk en vervolgens de update uitvoeren.



  1. Hoe dubbele rijen in SQL te elimineren

  2. Twee kolommen voor automatisch verhogen of automatisch verhogen en dezelfde waarde in andere kolom

  3. Opgeslagen procedure om informatie over databasetabellen te krijgen

  4. Hoe repareer je de URL van de inhoudsprovider die niet wordt gevonden in de Android-inhoudsprovider?