我有一些数据的字段被\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
结合起来。有什么建议吗?
最佳答案
看起来你在尝试实现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;
比如苹果提供了4字节的UTF8格式的文本数据,只需使用UTF8MB4字符集就可以将其存储在MySQL中(我的意思是更正所有文本记录的端口)。
前34行将被忽略(正如应该忽略的那样-它是“法律政策”数据)。
需要从文件中删除最后一行。(我在移植之前用脚本删除它)
希望能帮上忙。