MySQL の「UPDATE ON DUPLICATE KEY」の複合キー
質問:
どうすれば効率的に実行できますか値の特定の組み合わせがすでに存在する場合に行を更新するクエリ ('UPDATE ON を使用) DUPLICATE KEY')、一意のキーが定義されている場合のみ?
答え:
MySQL では、複数のカラムで構成される複合キーの作成が許可されています。複合キーを定義すると、一意制約に値の組み合わせが含まれる場合でも、「UPDATE ON DUPLICATE KEY」構文を利用できます。
実装:
コンポジットを作成するインデックス:
複数の列にインデックスを作成するには、次の構文を使用します:
CREATE INDEX index_name ON table_name (column1, column2);
挿入または更新:
複合インデックスが作成されたら、次のクエリを使用して、複合インデックスに基づいて新しい行を挿入したり、既存の行を更新したりできます。 key:
INSERT INTO table_name (column1, column2) VALUES (value1, value2) ON DUPLICATE KEY UPDATE column3 = column3 + 1;
この例では、「column1」と「column2」の値が複合キーとして機能します。同じ「column1」と「column2」の値を持つ行がすでに存在する場合、「column3」の値は 1 つ増加します。それ以外の場合は、新しい行が挿入されます。
以上がMySQL の「UPDATE ON DUPLICATE KEY」で複合キーを使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。