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

WBOY
リリース: 2023-03-01 16:56:01
オリジナル
1681 人が閲覧しました

たとえば、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:

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

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

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

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

関連ラベル:
php
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート