ホームページ > バックエンド開発 > PHPチュートリアル > 急務! !データベース内の 2 つのテーブルの内容を比較し、同じデータを削除し、異なるデータを保持する方法

急務! !データベース内の 2 つのテーブルの内容を比較し、同じデータを削除し、異なるデータを保持する方法

WBOY
リリース: 2016-06-23 14:19:38
オリジナル
1668 人が閲覧しました

PHP

緊急リクエスト! ! !

2つのテーブルのデータを比較し、1つずつ確認する方法を教えてください。データが同じ場合は一方をチェックし、データが異なる場合はもう一方を削除し、別々に保存します。

最後に、2 つのテーブルに保持されているさまざまなデータが出力され、エラー専用の別のテーブルに一緒にインポートされます。

ディスカッションに返信 (解決策)

親愛なる皆さん、コードを見てみるのが一番です

データは同じですか?特定のフィールドに基づいて判断すべきか、それともデータ テーブルのすべてのフィールドを比較すべきか
これら 2 つのテーブルのすべてのデータをクエリし、ループで比較することができます

まあ、2 つのテーブルの列は同じです、しかし、その書き方は、複数の列を比較し、比較後に同じものを削除し、別の列を独自のテーブルに保持する詳細なコードはありますか

あはは、最も簡単な方法は、すべてのデータをクエリすることです。テーブル内 ループと別のテーブルの比較

もう 1 つは、テーブル クエリを直接結合することです
たとえば、a,b から a,id,b.id を選択します (a.filed1=b.filed1 および a.filed2=)。 b.filed2 と .filed3=b.filed3

このようにクエリを実行してから削除します

ただし、高い実行効率が必要なので、少し遅いようです

1. 後で使用するためにテーブル A のレコード数を取得しますselect count(*) as cnt from A
2. テーブル A と異なるテーブル B のレコードを抽出します。 select テーブル A のレコード select * from B Union select * from A limit cnt

次に何をするか?自分で決めてください

ストアド プロシージャの使用を検討してもよいです

面倒なことはせずに、テーブルを送信し、

テーブルを作成します ..

に挿入します ..

次に、必要な結果のテンプレートを作成します

さてキー 2 つのテーブルの同じデータを削除し、異なるデータを保持するにはどうすればよいですか?

親愛なる友人の皆様、できればコード付きで提案をお願いします

テスト データを提供する必要があります

例:


2 つのテーブルは同じです。ここで同じデータを削除し、別のデータを保持します

a,b から a,id,b.id を選択します (a.filed1=b.filed1、a.filed2=b.filed2、a.filed3=b.filed3)

その後、削除してください


親愛なる友人、サポートありがとうございます, 皆さんのご協力で解決しました

delete a,b FROM a LEFT JOIN b ON a.c_num=b.c_num and a.c_jifen=b.c_jifen where a.c_num=b
.c_num

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