sql >> Base de Datos >  >> RDS >> Mysql

Establecer columnas de forma variable en Mysql

Usarías insert . . . select con un case declaración:

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

Sin embargo, sospecho que es posible que desee una update y no un insert :

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