UPSERT 操作: 更新への既存の値の組み込み
挿入と更新を組み合わせた UPSERT は、効率的なデータベース操作を可能にする便利なデータベース操作です。単一のクエリでのデータの挿入と更新。ただし、更新プロセス中に新しい値と既存の値の両方を考慮する必要があるシナリオを処理すると、複雑さが生じる可能性があります。
この例では、列 item_name (主キー) と items_in_stock を持つアイテム テーブルは、項目の存在:
最初は、取得するために副選択が提案されました。 ON DUPLICATE KEY UPDATE 句の既存の在庫数。ただし、より単純なアプローチが存在します。
INSERT INTO `item` (`item_name`, `items_in_stock`) VALUES( 'A', 27) ON DUPLICATE KEY UPDATE `items_in_stock` = `items_in_stock` + 27
この改訂された構文では、ON DUPLICATE KEY UPDATE 句が既存の items_in_stock 列を直接参照するため、副選択の必要がなくなります。これにより、更新プロセスが簡素化され、必要な機能が維持され、新しい値と既存の値の両方に基づいて在庫数が正確に更新されます。
以上がMySQL に既存の値を組み込みながら、データを効率的に更新/挿入するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。