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

2つのフィールドが存在する場合は更新し、存在しない場合は挿入します(MySQL)

    MySQLの一意のインデックスは、単一の列にある必要はありません。 ALTER TABLE..ADD UNIQUEでさらに列を指定するだけで、複数の列にUNIQUEインデックスを追加できます。 ステートメント:

    ALTER TABLE myTable ADD UNIQUE (
        mykey,
        myfoo
    );
    

    これで、通常のINSERT INTO...ON DUPLICATE KEYを使用できます。 ステートメント。

    SQLFiddleデモ 複数の繰り返される値は追加されないことに注意してください-他のすべては追加されます

    どちらかがNULLの場合、ありません 一意としてカウントされます。 mykey 'bar'およびmyfooであること NULLであることは、「同じ」値であっても無限大に追加される可能性があります(NULLは実際には値ではありません)。




    1. MySQLプロシージャでSQLEXCEPTIONメッセージを取得する

    2. JPAでPostgresJSONBデータ型を使用するにはどうすればよいですか?

    3. postgresでテーブル(インデックスを含む)をコピーします

    4. SpringBootアプリケーションがHikariでスタックします-Pool-1-開始しています...