1

ユーザーが任意の数の興味を入力できるデータベースがあります。彼らがそれを更新しようとすると、以前の興味の1つを削除できます。

これはどのように処理する必要がありますか?更新により、データベースから以前の関心をすべて削除してから、更新された関心を挿入する必要がありますか?

4

2 に答える 2

1

That's what I usually do: Delete all the existing records and add the new ones. It's the simplest thing to do if it's a simple cross reference table. If there are id fields that are important you might have to do something else.

于 2012-06-05T20:29:04.887 に答える
1

関心のあるプールが別のテーブルに保存されていない場合は、フラグ アプローチを使用できます。

ユーザー テーブル (例)

user_id int(8) AUTO_INCREMENT
user_name varchar(255)
user_email varchar(255)

ユーザー インタレスト テーブル (例)

interest_name varchar(255)
user_id int(8)
interest_status tinyint(1)

関心ステータスは、1 (アクティブな関心) または 0 (以前の関心) のいずれかです。

反対に、選択対象のプールとバイナリ関連テーブルがある場合は、interest_nameinterst_idそれが表す に変更します。古いレコードをすべて削除し、問題フラグを付けて再挿入します。これは通常、実行するのが簡単で、エラーが発生しにくい方法です。

于 2012-06-05T20:33:52.240 に答える