【发布时间】:2011-10-29 19:00:16
【问题描述】:
我正在尝试将一些 csv 数据导入 mysql。问题是 csv 字段和数据库字段之间没有精确的一对一映射。我正在寻找一种将数据导入所需字段的简单方法。我想导入一些字段而不是其他字段。我想为所有案例分配“2”以匹配查找值的字段之一。
我可以买一个工具,但我不想花钱。我可以使用导入命令执行此操作而无需编辑 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"
【问题讨论】: