我的数据包含\u0001
分隔的字段和\u0002\n
分隔的记录。我想使用LOAD DATA INFILE
将所有数据一次导入MySQL数据库。我知道\u0001
可以写成X'01'
,但我不知道如何写'\ u0002 \ n'。
这是我到目前为止所做的。
LOAD DATA LOCAL INFILE 'myfile.txt' INTO TABLE my_table
FIELDS TERMINATED BY X'01'
LINES TERMINATED BY '\n'
(col1, col2, col3);
上面的SQL语句有效,但我担心\u0002
可能会与数据一起导入数据库。
我知道\u0002
可以写成X'02'
,但我不太确定如何将X'02'
与\n
结合起来。
有什么建议吗?
答案 0 :(得分:8)
看起来你正在尝试实施iTunes EPF :),
X'01'
+ '\n'
=> X'020a'
所以你的查询可以写成:
LOAD DATA LOCAL INFILE 'myfile.txt' INTO TABLE my_table
FIELDS TERMINATED BY X'01'
LINES TERMINATED BY X'020a'
(col1, col2, col3);
如果您真的在实施iTunes EPF集成,可以使用下一个查询:
LOAD DATA LOCAL INFILE '<path to your file>' INTO TABLE `<table name>` CHARACTER SET UTF8MB4 FIELDS TERMINATED BY X'01' LINES TERMINATED BY X'020a' IGNORE 34 LINES;
例如apple提供4字节UTF8的文本数据,它可以用UTF8MB4字符集存储在MySQL中(我的意思是纠正端口的所有文本记录)。 前34行将被忽略(应该忽略 - 它是'合法政策'数据)。 并需要从文件中删除最后一行。 (我在移植之前用脚本删除它)
希望能帮助别人。