値を挿入したい場合は、 "重複した更新を挿入する"が更新されますが、新しい挿入されたもので自動増分値は更新されません。私はlast_inserted_idを使用すると、それはちょうど新しい挿入されたものではない更新された列の最後のIDを返す)私は(私はlast_inserted_idを使用するとき、それはちょうど新しいIDを生成し、それが削除されますが、新しい挿入されたクエリでIDを更新したい:挿入が存在する場合は存在する削除が存在し、新しいものを挿入する(自動増分)。私はそこに置き換えられると聞いたが、それは遅いので、 。重複更新に挿入
重複更新に挿入
答えて
オートインクリメントの列を使用してファンシーな更新ロジックを実行しようとすると、
更新時に行に新しい自動インクリメントIDが必要な場合は、古い行を削除して、ゴードン氏のように新しい行を挿入してください。
insert on duplicate key update
を使用するよりわずかに遅いデータベースワークロードがあります。しかし、あなたのテーブルに少なくとも100メガロウが含まれていないか、または一日中と一晩中にこれらの操作の少なくとも10回を実行している場合を除き、パフォーマンスの違いはごくわずかです。そのような種類のデータベースまたはワークロードがある場合は、データベース管理者にアドバイスを依頼してください。
REPLACE
= DELETE
、次にINSERT
。 IODKUは決して削除しません。それぞれのキーには、操作する行が分かるように、UNIQUE
キーの列を指定する必要があります。微妙な点:複数のUNIQUE
キーがある場合、REPLACE
は複数の行を削除し、1つだけ挿入することがあります。
IODKUは、... UPDATE id = LAST_INSERT_ID(id), ...
を使用してid(既存または新規)を取得できます。
私はこれを行いますが、重複のどのケースが削除と挿入より遅いのかを知りたいですか? –
'REPLACE'はもっと多くの作業をしなければならないので、常に遅くなる可能性があります。私は答えにいくつかの情報を追加しました。 –
LAST_INSERTED_ID「INSERT ... duplicate update」によって生成された最後のものでIDを更新するようなものを取得したいのですが、更新されたelem(古いもの)のid自体を与えました –
- 1. 重複更新に挿入
- 2. MySQLの更新、挿入、重複
- 3. 複数の挿入による重複キーの更新
- 4. 重複した更新で新しいデータを挿入する
- 5. 重複キー更新に挿入 - 挿入はdbに何もポストしません。更新は
- 6. MySQL:重複した主キーの更新問題に挿入
- 7. MySql、重複した更新に挿入します。
- 8. 重複キーに更新を挿入するためのSQLクエリ
- 9. 重複するキー更新の挿入によって混乱
- 10. 重複して選択更新から挿入INSERT UPDATE = count(*)
- 11. 重複キーのSQLクエリの挿入と更新
- 12. 重複キーを挿入する複数の行を一度に更新する
- 13. 重複キーのMySQL挿入行は、複数の列を更新します
- 14. 1つの重複アップデートxxに挿入 - テーブルのINDEXesも更新しますか?
- 15. MySql - 重複キーの挿入
- 16. 重複キーの挿入
- 17. 挿入/更新、複数のオブジェクトが
- 18. SQLトリガ複数挿入更新
- 19. 重複キー更新で挿入すると、インデックスが無視されます
- 20. APIを挿入すると重複キーでデータベースが更新されます
- 21. 重複キーの挿入/更新でMySQLエラーが発生しました
- 22. SQL挿入重複キーの更新が機能していません
- 23. ハッシュマップに重複値を挿入する
- 24. 重複なしでテーブルに挿入
- 25. 二重重複キー更新の入力エラー
- 26. 重複する列と新しいフィールドでの挿入
- 27. MySQLは重複しないキー更新のみを挿入し、更新しません
- 28. 私は以下の使用してMySQLで重複キーの更新に挿入しようとしている重複した更新MySQLエラー
- 29. PDO:mysqlを使用して更新または挿入されたレコードを確認する重複キー更新に挿入
- 30. 重複キー更新のMysql - 新しい行を挿入しないようにする方法
これを2つのステップで実行します。あなたは正直な 'delete'の後ろに' insert'があることを望みます。それは '重複キー更新 'ではない。 –
@ GordonLinoffしかし、挿入と削除は挿入よりも遅いと聞きました...複製更新 –
@GordonLinoffを削除してから挿入しないと他の方法がありますか?新しいIDで新しい値を更新する必要があります –