0

長い csv テーブルをインポートし、効率のために 2 つのテーブルに変換する最良の方法について質問があります。これは非常に縮小されたバージョンですが、この目的には次のものが適しています。

各行は一意のレコードですが、最初の 3 つの列は、大量の行にわたって非常に一貫性のあるデータで構成されています。

このデータを管理する最善の方法は、次の 2 つのテーブルを作成することだと考えました。

1 つ目は、自動インクリメント ID フィールドと、最初の 3 つの列のグループ化です。

これにより、データの主要なグループ分けのコンパクトなテーブルが得られます。

2 番目のテーブルはすべての行になる予定でしたが、繰り返されるすべてのデータを保持する代わりに、最初のテーブルにインポートするときに生成する自動インクリメント ID フィールドと共に、変数データ列 d、e、f のみを保持します。

私の質問は、最初のテーブルから id を取得する方法です。そのテーブルを再クエリして id を見つけてから、2 番目のテーブルに挿入する唯一の方法ですか?

a,b,c,d,e,f

09/02/2013,A1,1,18503112043123,11,2.1219
09/02/2013,A1,1,44102576116476,73,14.0817
09/02/2013,A1,1,66918345446536,134,25.8486
09/02/2013,A1,2,62009507978229,10,1.929
09/02/2013,A1,2,92278593945574,55,10.6095
09/02/2013,B1,1,50474606002324,90,17.361
09/02/2013,B1,1,59697581427675,7,1.3503
09/02/2013,B1,1,86298530583467,51,9.8379
09/02/2013,B1,2,34885481077847,80,15.432
09/02/2013,B1,2,25479347211047,164,31.6356
09/02/2013,B1,3,56270556524425,6,1.1574
09/02/2013,C1,1,57680166803098,24,4.6296
09/02/2013,C1,1,72778510788287,77,14.8533
09/02/2013,C1,1,26084111080146,140,27.006
09/02/2013,C1,1,31435464483578,361,65.5937
09/02/2013,C1,2,29457756254473,492,89.3964
09/02/2013,C1,2,68414218104066,293,53.2381

編集

私は2つのクエリを念頭に置いています:

  1. すべてのデータ行である子テーブルですが、親テーブルからの対応する自動インクリメント ID が含まれています。

子テーブルにデータを入力するときに、親テーブルにクエリを戻さずにIDを再度取得する方法がわかりません

4

1 に答える 1