代码之家  ›  专栏  ›  技术社区  ›  Constantin

使用带有不可打印字符分隔符的mysql加载数据填充

  •  2
  • Constantin  · 技术社区  · 15 年前

    我有一些供应商数据,其中soh(ascii字符1)作为字段分隔符,stx(ascii字符2)作为记录分隔符。是否可以在加载数据填充时加载此数据,而无需预处理文件并用更常见的字符替换这些字符?

    5 回复  |  直到 9 年前
        1
  •  7
  •   Constantin    15 年前

    我得到了它。

    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);
    
        2
  •  1
  •   Seth    15 年前

    你可以试试 FIELDS TERMINATED BY _ascii 0x02 . 我不知道它是否有用 LOAD DATA INFILE ,但它在 SELECT (即, SELECT _ascii 0x61 收益率“A”。

        3
  •  1
  •   jono2010    15 年前

    如果使用mysqlimport,则etc终止的字段和行中十六进制值的格式为:

    mysqlimport--local--user=username--password=secret--ignore lines=4--default character set=utf8--fields terminated by=0x01--lines terminated by=0x02--verbose databasename文件导入

        4
  •  0
  •   Ian Clelland    15 年前

    您可以尝试只发送ASCII字符直接在字符串文字内。如果您的连接没有分配字符集或编码,那么mysql可能只是接受它作为有效字符串。您必须通过网络连接或将数据管道传输到mysql客户机。我不认为你能在控制台输入。

        5
  •  0
  •   Feng Xu    9 年前

    以x'01'结尾的字段

    为我工作