MySQL は MERGE ステートメントを利用できますか?
多くの場合、INSERT 操作と UPDATE 操作の両方を 1 つのクエリに組み込むことが望ましいです。多くの SQL データベースでは、この目的のために MERGE ステートメントが提供されています。しかし、MySQL はそのようなステートメントをサポートしていますか?
MySQL と MERGE ステートメント
MySQL は MERGE ステートメントを明示的にサポートしていません。ただし、同様の機能を実現する代替手段として INSERT...ON DUPLICATE KEY UPDATE.
構文と使用法
The INSERT...ON DUPLICATE KEY が提供されています。 UPDATE ステートメントを使用すると、テーブルに新しい行を挿入できます。同じ主キーまたは一意のキーを持つ行がすでに存在する場合は、既存の行を次のように更新します。新しい値。
構文は次のとおりです。
INSERT INTO table (column1, column2, ...) VALUES (value1, value2, ...) ON DUPLICATE KEY UPDATE column1 = new_value1, column2 = new_value2, ...
例
その使用法を説明するために、次の例を考えてみましょう。
INSERT INTO Employees (id, name, salary) VALUES (1, 'John Doe', 50000) ON DUPLICATE KEY UPDATE salary = salary + 10000;
ID 1 の従業員が既に Employees テーブルに存在する場合、このステートメントはその従業員のそれ以外の場合は、給与が 50000 の John Doe の新しい行が挿入されます。
以上がMySQL は同等の MERGE ステートメントを提供しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。