我有一些供应商数据,其中SOH(ASCII字符1)作为字段分隔符,STX(ASCII字符2)作为记录分隔符。是否可以使用LOAD DATA INFILE加载此数据而无需预先处理文件并将这些字符替换为更常见的字符?
答案 0 :(得分:7)
我明白了。
LOAD DATA LOCAL INFILE 'myfile.txt' INTO TABLE my_table
CHARACTER SET UTF8
FIELDS TERMINATED BY X'01'
LINES TERMINATED BY X'02'
(col1, col2, col3);
答案 1 :(得分:1)
您可以尝试FIELDS TERMINATED BY _ascii 0x02
。我不知道它是否适用于LOAD DATA INFILE
,但它适用于SELECT
(即SELECT _ascii 0x61
会产生'a')。
答案 2 :(得分:1)
如果您正在使用mysqlimport,则字段为terminate-by和lines-terminated-by等的十六进制值格式为:
mysqlimport --local --user = username --password = secret --ignore-lines = 4 --default-character-set = UTF8 --fields-terminated-by = 0x01 --lines-terminated-by = 0x02 --verbose databasename thefiletoimport
答案 3 :(得分:0)
你可以尝试直接在字符串文字内发送ascii字符..如果你的连接没有分配字符集或编码,那么mysql可能只是接受它作为一个有效的字符串。您必须通过网络连接或将数据传输到mysql客户端来完成。我不认为你能够在控制台输入它。
答案 4 :(得分:0)
X' 01'
终止的领域
适合我