sql >> Databasteknik >  >> RDS >> Mysql

MySQL - Uppdatera flera värden och WHERE IN

Letar du efter ett case uttalande?

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);

I MySQL kan du också göra detta med en 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;

Om du har många värden kan du skapa en tabell med värdena separat och sedan göra uppdateringen.



  1. Hur man får årets dag från ett datum i PostgreSQL

  2. java.sql.SQLEundantag:ORA-03115:nätverksdatatyp eller representation som inte stöds

  3. Vad är ett bra sätt att trimma alla blanksteg från en sträng i T-SQL utan UDF och utan CLR?

  4. Hur man tar bort ledande blanksteg i MySQL