sql >> Database teknologi >  >> RDS >> Mysql

Indstilling af kolonner variabelt i Mysql

Du ville bruge insert . . . select med en case erklæring:

INSERT INTO table(column1, column2)
    select (case when *expression* then 'value1' end) as column1,
           (case when not *expression* then 'value2' end) as column2;

Jeg formoder dog, at du måske virkelig ønsker en update og ikke en insert :

update table
    set column1 = (case when *expression* then 'value1' else column1 end),
        column2 = (case when not *expression* then 'value2' else column2 end);



  1. Vælg rækkeceller som nye kolonner

  2. Få antallet af rækker efter GROUP BY

  3. SQLite CASE

  4. Sådan fungerer LOG() i MariaDB