2011-01-02 13 views
0

私はCSVで生データを受け取り、MySQLデータベースのテーブル(自分のウェブサイトが機能する)にアップロードします。新しいCSVを古いCSVからアップロードしたデータと比較したいのですが、私はその2つの違いを見たいと思っています(基本的には、テーブルを使って生データを比較したい)。データベース内のテーブルとデータの比較

私はPHP、MySQL、デスクトップアプリケーション(Excelなど)を自由に使用できます。これについてはどうすればいいですか?その後、何とかMySQLで 2つのテーブルを差分の Table_Copyに新しいデータを挿入する

  • 、:私は考えることができる可能性のある方法。
  • 何らかの理由で のデータベースを照会して、 をアップロードせずにrawdataと比較しています。
  • 生のCSV形式に データベースからデータをダウンロードし、 は、デスクトッププログラムに
  • 句が新しいデータのみをプルする場所を使用していないのはなぜ

答えて

1

を使用して、2つの生のCSVの比較?たとえば、

select * from table where dateadded > '1-1-2011 18:18' 

これは、日付付きの列を持ち、データが追加された日付と時刻を入力するテーブルによって異なります。

+0

私はAdded_DateTime列を持っていますので、これはオプションです – babonk

+0

優秀!その仕組みを教えてください! – jmort253

+0

このメソッドの1つの問題は、削除された行について知る方法がないことです* – babonk

0
diff <(mysqldump test old_csv --skip-extended-insert) <(mysqldump test new_csv --skip-extended-insert) --side-by-side --suppress-common-lines --width=690 | more 
0

あなたは以下を使用することができますが

1)データベーステーブルの比較に近づく - テーブルのコピーを作成し、データを比較します。

適切なツールを使用して簡単に行うことができます(例:EMS Data comparer)。

ます。また、これを達成するためにいくつかの単純なクエリ(例:しない)テーブルにIDを選択(にtable_copyからIDを選択)書くことができます

2)winmerge のようなファイルの比較子を使用したテーブルの両方のダンプを取ります正確な方法で、それらを比較します。

データのサイズに応じてどちらの方法も使用します。より小さなデータの場合、第2のアプローチは良いです。

関連する問題