本帖最后由 wjl123 于 2014-12-09 10:38:36 编辑

解决方案 »

  1.   

    用你的数据测试没有问题 不会提示失败你的abc文件里面还有什么数据是没有贴出来的
      

  2.   

    数据就是这4条记录了,全贴出来了:
    目录:D:\my_program\C++\MySQL_C\abc.txt, 文本文件的内容如下:
    1;0x06
    2;0x5c
    3;0x22
    4;0x31是不是我的MYSQL与您的不一样呢?
    mysql> select version();
    +---------------------+
    | version()           |
    +---------------------+
    | 5.0.87-community-nt |
    +---------------------+
    1 row in set (0.02 sec)
    我的是有报错的:
    load data infile 'D:\\my_program\\C++\\MySQL_C\\abc.txt'
    into table source_db_new   
    FIELDS TERMINATED BY ';'
    OPTIONALLY ENCLOSED BY ''
    LINES TERMINATED BY '\n'
    (
    Frame_number,
    SCCP_TYPE
    );报错如下:   
    ERROR 1265 (01000): Data truncated for column 'SCCP_TYPE' at row 1
      

  3.   

    5.0.87-community-nt  这个版本没测试过 现在使用的版本大多是5.5或者5.6
      

  4.   

    还人帮测试一下上述代码吗? mysql  5.5 或5.6 就没有报错吗?
    或者有用MYSQL 5.0 的朋友也帮测一下,是否也是报错? 
    真的这个load data infile 与MYSQL的版本有关吗? 我正在试图安装5.6  ,但好象一直装不上。这个要先装微软的FRAME WORK  4.0  ,  5.0不需要装这个库。我个人觉得5.0 更方便一些,真心不想换成5.6啊。
      

  5.   

    如果您能成功执行我发的SQL语句,能给发一个成功的LOG吗?   load data   是否与MYSQL的环境变量设置相关呢?这个load data infile 是一个很常用的工具,各种版本的MYSQL 中load data 工具应当变化不大吧? 我担心是环境变量的设置问题,或是MYSQL的配置参数那里设置不同,造成我的主机上运行load data infile 失败。这个真的与MYSQL 大版本相关吗???? 谁正在用MYSQL 5.0 ,能否帮我测试一下我说的SQL语句? 
      

  6.   

    这个问题有人问过了
    (
     Frame_number,
     SCCP_TYPE
     );

    FIELDS TERMINATED BY ';'
     OPTIONALLY ENCLOSED BY ''
     LINES TERMINATED BY '\n'
    不能共用
    要么你修改文本格式
    sed -ri 's/;/\t/g'  abc.txt
    要么你两个只能用一个
      

  7.   

    我已经将主机上的MYSQL5.0给卸载了,楼上“benluobobo ” 说他不在5.0上可以正常执行,我理解他在5.5 或5.6上可以正常执行,我正在装5.6呢,搞了一快天了。5.6我装不上啊。郁闷!!! 我也不清楚,5.5 或5.6 版本是否真的就可以正常执行,希望哪位好心人再帮我试一下,帖个能成功执行的LOG让我看一下。我对他的话表示质疑。真的5.5 或5.6就能成功执行吗? 能否给了执行成功的LOG ? 几乎快崩溃了。
      

  8.   

    TO  chengchow2001.可以共用吧?我以前经常这么用的。源文件中的列数可以与表中的字段数不一一对应的。我可以将数据导入到指定的列字段上! 这个结论是没有问题的。我测试过的,而且之前也么这用过的。所以你说的这个原因不能解决我说的问题。最简单的方法是你可以试一下.会不会报错。
      

  9.   

    这么写同样出现报错,一样:load data infile 'D:\\my_program\\C++\\MySQL_C\\abc.txt'
    into table source_db_new   
    FIELDS TERMINATED BY ';'
    OPTIONALLY ENCLOSED BY ''
    LINES TERMINATED BY '\n'ERROR 1265 (01000): Data truncated for column 'SCCP_TYPE' at row 1
      

  10.   

    我刚装了一个MYSQL 5.6  试了一下,也不行!!!同样的报错。
    load data infile 'D:\\my_program\\C++\\MySQL_C\\abc.txt'
    into table source_db_new   
    FIELDS TERMINATED BY ';'
    OPTIONALLY ENCLOSED BY ''
    LINES TERMINATED BY '\n'
    (
    Frame_number,
    SCCP_TYPE
    );
    Error Code: 1265. Data truncated for column 'SCCP_TYPE' at row 1 0.000 secTO  benluobobo 用户,你说能成功执行,这是真的吗? 你看到了请回复一下。多谢!
      

  11.   

    我的问题解决了,自己终于想明白了:
    load data infile 'D:\\my_program\\C++\\MySQL_C\\abc.txt'
    into table source_db_new 
    FIELDS TERMINATED BY ';'
    OPTIONALLY ENCLOSED BY ''
    LINES TERMINATED BY '\n'
    (
    Frame_number,
    @SCCP_TYPE
    )
    set
    SCCP_TYPE=conv(mid(@SCCP_TYPE,3,2),16,10);OK PASS !!!!
    LOAD DATA 确实识别它为字符串“0x06”,而不是16进制数。所以要将字符串转换为10进制数。在此与大家分享!!!
      

  12.   

    非常感谢!!!看到贴图了,但是您没有注意到,写入数据库后,SCCP_TYPE字段内容全部是0了,与abc.txt 源文件中的内容不一致。0x06 ,0x5c, 0x22. 应当是:6,92,34,49才对。
      

  13.   

    我看贴图有“Messages” 上面有一个红色的叹号,我猜点它会看到一个报错信息————数值转换失败。
      

  14.   

    TO  版主 ,我的发私信功能为什么不可用了?  我是否违反了这里的规矩呢?  ,CSDN是一个良好的交流平台,在这里大家可以在技术上进行交流。如有私信打扰还请见谅。
      

  15.   

    错误提示是什么? 或者说故障现象是什么?CSDN论坛本身相关的故障或者问题可到 http://bbs.csdn.net/forums/Service 发贴。