sql >> データベース >  >> RDS >> Mysql

Mysqlで列を可変的に設定する

    insert . . . select case ステートメント:

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

    ただし、本当にupdateが必要な場合があると思います。 insertではありません :

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



    1. t-sql での nvarchar 変数のキャスト照合

    2. select内で変数を定義し、同じselect内で使用します

    3. 未定義の値を保持するSQLSelectステートメントの動的列

    4. EF6およびOracle.ManagedDataAccessの使用中にテーブルが存在しない