• 締切済み

MYSQLデータの書き換えについて

MYSQLで複数のユーザーと、複数のアイテムがあり、アイテムには表示順序を設定できるとします。 レコードの例は次のようになっています。 「ユーザーID / アイテムID /表示順序」 例: ユーザー1 / アイテムA / 1 ユーザー1 / アイテムB / 2 ユーザー1 / アイテムC / 3 表示順序は1から始まる連番で管理されていて、数字の大きなものから順に並びます。 各ユーザーが持つアイテムの種類はバラバラで、何も持っていないユーザーも存在します。 上の例の場合ユーザー1はアイテムABCを持ち、表示順序はCBAです。 そこで、あるユーザーのアイテムの順序を振り直す場合、一度そのユーザーのレコードを全て削除してから新規に振り直そうと思っていますがこのやりかたは正しいでしょうか? それともUPDATEをうまく使って書き換えるほうがいいのでしょうか?

みんなの回答

回答No.1

普通はUPDATEを使うと思います。 処理時間が問題にならないのであればDELETE,INSERTでも良いとは思いますが、 UPDATEに比べてかなりコストが大きいと思います。

django13
質問者

お礼

回答有り難うございます。 たとえばCを失った代わりにDが追加されたとしたら、CをDELETEし、DをINSERTした上で他のアイテムを個々にUPDATEするという手順になりますか?

すると、全ての回答が全文表示されます。

関連するQ&A