ホームページ  >  記事  >  バックエンド開発  >  PHP が古い関係と新しい関係を処理する方法

PHP が古い関係と新しい関係を処理する方法

WBOY
WBOYオリジナル
2016-12-01 00:25:341671ブラウズ

たとえば、A と B は 1 対多で、A には B の n レコードがあり、ID は (1, 2, 3, 4) となります。これは (3, 4, 5, 6) として送信されます。 A と B の関係を更新する必要がある場合、(3、4、5、6) については、最初に元の関連付け (1、2、3、4) を削除してから、(3、4、5、6) を挿入する必要があります。 )?それとも古いデータを取り出して新しいデータと比較してから更新しますか?

返信内容:

たとえば、A と B は 1 対多で、A には n B レコードがあり、ID は (1, 2, 3, 4) として送信されます。 A と B の関係を更新する必要があります (3、4、5、6) については、最初に元の関連付け (1、2、3、4) を削除してから、(3、4、5、6) を挿入する必要があります。 ?それとも古いデータを取り出して新しいデータと比較してから更新しますか?

インデックスがない場合は、最初に使用しますdeleteinsert
但在有索引的情况下,我会采用以下方式先updateinsert:

  1. 関係が終了したかどうかをマークするには、関係テーブルにis_deleted字段,默认 0,is_deletedを追加します。

  2. 実行SQL(同じリレーションの場合、レコードは1つだけ存在します)

    リーリー

比較メソッドのコードは複雑で、データ項目の追加は少々面倒であり、保守が困難です

方法 1:

すべてを削除し、質問に記載されているものをすべて挿入してください

方法 2:

単一の関係を削除し、単一の関係を追加して別のインターフェイスを作成します
関係を削除するたびに関係操作を追加し、対応する別のインターフェイスを呼び出します

単純かつ粗雑で、最初に削除してから挿入します。

古いデータを取り出して比較することをお勧めします。

最初に削除し、次に挿入し、同時にアーカイブ フィールドを追加し、それを文字列として保存し、特殊記号を使用して今回を以前の関係から分離し、追加します。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。