2011-10-29 13 views
0

私はいくつかのcsvデータをmysqlにインポートしようとしています。問題は、csvフィールドとデータベースフィールドの間に正確な1対1のマッピングがないことです。私は必要なフィールドだけにデータをインポートする簡単な方法を探しています。私はいくつかのフィールドをインポートしたいが、他のフィールドはインポートしない。フィールドの1つは、ルックアップ値に一致させるために、すべてのケースに「2」を割り当てたいと思います。カスタムCSVがMySQLにインポートされます

私はツールを購入することができましたが、私はお金を使いたくありません。 csvファイルを編集することなく、インポートコマンドでこれを行うことはできますか?すべての例や推奨事項を高く評価します。

---------- desc addrTable; ------------------

+-------------+--------------+------+-----+---------+----------------+ 
| Field  | Type   | Null | Key | Default | Extra   | 
+-------------+--------------+------+-----+---------+----------------+ 
| id   | int(11)  | NO | PRI | NULL | auto_increment | 
| supervisor | int(11)  | NO | MUL | NULL |    | 
| lastName | varchar(20) | NO |  | NULL |    | 
| firstName | varchar(20) | NO |  | NULL |    | 
| fullName | varchar(40) | NO |  | NULL |    | 
| addr1  | varchar(50) | NO |  | NULL |    | 
| addr2  | varchar(50) | NO |  | NULL |    | 
| city  | varchar(25) | NO |  | NULL |    | 
| state  | varchar(2) | NO |  | NULL |    | 
| zipCode  | varchar(8) | NO |  | NULL |    | 
| notes  | longtext  | YES |  | NULL |    | 
| spouse  | varchar(30) | NO |  | NULL |    | 
| gender  | varchar(1) | NO |  | NULL |    | 
| kids  | int(11)  | NO |  | NULL |    | 
| birthday | varchar(20) | NO |  | NULL |    | 
| spouseDOB | date   | YES |  | NULL |    | 
| email  | varchar(75) | NO |  | NULL |    | 
| workPhone | varchar(12) | NO |  | NULL |    | 
| cellPhone | varchar(12) | NO |  | NULL |    | 
+-------------+--------------+------+-----+---------+----------------+ 

---------- csvヘッダー------------- -----

以下は私のCSVヘッダーです。これらのヘッダの中には値 '*' d 'がなく、これらのフィールドをスキップしたいのですが?また、管理者フィールドはありません。これは検索であり、インポートされたすべてのレコードに '2'という値を割り当てたいとします。

"Last_Name", 
"First_Name", 
"Full_Name", 
"Address", 
"City", 
"State", 
"Zip", 
"Notes", 
"Spouse", 
"Kids", 
"Birthday", 
"Birthday_Day", * 
"Birthday_Month", * 
"Spouse_DOB", 
"Email", 
"Work_Phone", 
"Cell_Phone" 

答えて

0

私は、一時テーブルにmysqlimportを使用してデータをロードします....そして、一時テーブルから目的地までを選択します。そうすれば、不足している列を追加することができます。

例えば:

insert into t2 
select last_name,first_name, etc,2 as supervisorid 
from t1 
関連する問題