我有一个文本文件,其中包含以下格式的行:
com1,System Access,MinimumPasswordAge,1
com1,系统访问,MaximumPasswordAge,42
com1,系统访问,MinimumPasswordLength,7
我希望以下列格式将这些数据导入3个单独的行:
“{1}}列中的”com1“,ID
列中的”系统访问权限“,Audit_Type
列中的”MinimumPasswordAge“和
System_Setting
列中的“1”。
我在Windows 7 SP1中使用MySQL查询浏览器。
答案 0 :(得分:2)
创建表格以保存您的数据。
创建CSV文件。不要包含字段标题。
打开MySQL查询浏览器并运行SQL:
load data local infile 'fullpath.csv' into table tableName
fields terminated by ','
lines terminated by '\n'
(ID, Audit_Type, System_Setting, Actual_Value);
注意:强>
如果您在Windows系统上生成了文本文件,则可能必须使用LINES TERMINATED BY '\r\n'
来正确读取文件,因为Windows程序通常使用两个字符作为行终止符。
更新1
如您所见,仅插入3 out of 81
条记录
com1,System Access,MinimumPasswordAge,1
com2,系统访问,MinimumPasswordAge,1
com3,系统访问,MinimumPasswordAge,1
其他人失败
com1,Event Audit,AuditSystemEvents,0
com2,Kerberos Policy,MaxTicketAge,10
com3,系统访问,NewAdministratorNameAdministrator,1
这是因为您将列ID
设置为主键。 com1, com2, com3
已经存在于桌面上。 主键,按照定义,唯一。能够插入所有行的最佳方法是创建另一个列,该列可以自动递增并将其设置为主键。
Create Table system_settings
(
RecordID int NOT NULL AUTO_INCREMENT,
ID VARCHAR(30),
Audit_Type VARCHAR(30),
System_Setting VARCHAR(30),
Actual_Value int,
CONSTRAINT table_PK PRIMARY KEY (RecordID)
)