MySQL テーブルでのデータの効率的な挿入または更新
新しいデータ行が存在しない場合にそれを挿入するシナリオを考えてみましょう。 、または存在する場合は既存の行を更新します。この場合、質問にあるような UPDATE ステートメントを使用したくなるかもしれません。ただし、このアプローチには制限があります。
INSERT ... ON DUPLICATE KEY UPDATE を使用すると、より効率的なソリューションが提供されます。その仕組みは次のとおりです。
INSERT 句は、指定された値を持つ新しい行を AggregatedData テーブルに挿入しようとします。同じ datenum を持つ行がすでに存在する場合、ON DUPLICATE KEY UPDATE 句が機能します。
UPDATE 句は、既存の行のどの列を更新するかを指定します。この場合、指定された値 ("2010-01-14 23:30:00.000") で Timestamp 列を更新する必要があります。
UPDATE ステートメントとは異なり、datenum を含める必要はありません。 UPDATE 句は一意のキーであり、変更しないでください。
VALUES() 関数を使用すると、他の列を更新するときに正しい値が使用されることを確認します。
INSERT ... ON DUPLICATE KEY UPDATE を使用して修正されたステートメントは次のとおりです。
INSERT INTO AggregatedData (datenum,Timestamp) VALUES ("734152.979166667","2010-01-14 23:30:00.000") ON DUPLICATE KEY UPDATE Timestamp=VALUES(Timestamp)
このアプローチは、挿入と更新の両方を効率的に処理します。単一のステートメントにより、MySQL テーブルのデータ管理がより合理化されます。
以上がMySQL でデータを効率的に挿入または更新するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。