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

MySQL Insert if Condition

    次のようなことができます:

    insert into cats_rel(cat_id, post_id)
        select 11, 32
        where not exists (select 1 from cats_rel where cat_id = 11 and post_id = 32);
    

    編集:

    おっとっと。上記は、fromがないため、MySQLでは機能しません。 句(ただし、他の多くのデータベースで機能します)。いずれにせよ、私は通常、値をサブクエリに入れてこれを記述しているので、値はクエリに1回だけ表示されます:

    insert into cats_rel(cat_id, post_id)
        select toinsert.cat_id, toinsert.post_id
        from (select 11 as cat_id, 32 as post_id) toinsert
        where not exists (select 1
                          from cats_rel cr
                          where cr.cat_id = toinsert.cat_id and cr.post_id = toinsert.post_id
                         );
    


    1. 可用性グループのレプリカ同期の監視

    2. 更新スクリプトMySQlテーブルを生成する

    3. PostgreSQLのデフォルト値としてUTCの現在時刻を使用

    4. cordovaを使用してプロジェクトファイルにローカルに保存されているSqliteデータベースファイル[アセットフォルダ]にアクセスして更新する方法