急!!!在线求解! MYSQL load data infile 失败!!!多谢!

wjl123 2014-12-09 10:21:13
应用MYSQL load data infile 工具,如何导入16进制数据呢?

insert into source_db_new values(1,0x06); 可以将16进制数据“0x06”成功插入数据库。但应用MYSQL工具load data infile 导入同样的数据失败!!

语句指令:

CREATE TABLE source_db_new (
Frame_number bigint,
SCCP_TYPE bigint
);

mysql> desc source_db_new;
+--------------+------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------------+------------+------+-----+---------+-------+
| Frame_number | bigint(20) | YES | | NULL | |
| SCCP_TYPE | bigint(20) | YES | | NULL | |
+--------------+------------+------+-----+---------+-------+
2 rows in set (1.69 sec)


源数据文件(ABC.TXT)内容:
1;0x06
2;0x5c
3;0x22
4;0x31

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
...全文
379 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
wjl123 2014-12-11
  • 打赏
  • 举报
回复
TO 版主 , 我的发私信功能为什么不可用了? 我是否违反了这里的规矩呢? ,CSDN是一个良好的交流平台,在这里大家可以在技术上进行交流。如有私信打扰还请见谅。
wjl123 2014-12-11
  • 打赏
  • 举报
回复
我看贴图有“Messages” 上面有一个红色的叹号,我猜点它会看到一个报错信息————数值转换失败。
wjl123 2014-12-11
  • 打赏
  • 举报
回复
非常感谢!!!看到贴图了,但是您没有注意到,写入数据库后,SCCP_TYPE字段内容全部是0了,与abc.txt 源文件中的内容不一致。0x06 ,0x5c, 0x22. 应当是:6,92,34,49才对。
wjl123 2014-12-11
  • 打赏
  • 举报
回复
wjl123 2014-12-11
  • 打赏
  • 举报
回复
发私信时失败,提示私信功能关闭。
ACMAIN_CHM 2014-12-11
  • 打赏
  • 举报
回复
引用 20 楼 wjl123 的回复:
TO 版主 , 我的发私信功能为什么不可用了? 我是否违反了这里的规矩呢? ,CSDN是一个良好的交流平台,在这里大家可以在技术上进行交流。如有私信打扰还请见谅。
错误提示是什么? 或者说故障现象是什么? CSDN论坛本身相关的故障或者问题可到 http://bbs.csdn.net/forums/Service 发贴。
benluobo 2014-12-10
  • 打赏
  • 举报
回复
benluobo 2014-12-10
  • 打赏
  • 举报
回复
benluobo 2014-12-09
  • 打赏
  • 举报
回复
5.0.87-community-nt 这个版本没测试过 现在使用的版本大多是5.5或者5.6
wjl123 2014-12-09
  • 打赏
  • 举报
回复
我的问题解决了,自己终于想明白了: 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进制数。在此与大家分享!!!
wjl123 2014-12-09
  • 打赏
  • 举报
回复
数据就是这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
benluobo 2014-12-09
  • 打赏
  • 举报
回复
用你的数据测试没有问题 不会提示失败 你的abc文件里面还有什么数据是没有贴出来的
wjl123 2014-12-09
  • 打赏
  • 举报
回复
我只有这最宝贵的20分给大家了,没有再多的积分了。还请见谅!多谢大家的帮助。
wjl123 2014-12-09
  • 打赏
  • 举报
回复
我刚装了一个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 sec TO benluobobo 用户, 你说能成功执行,这是真的吗? 你看到了请回复一下。多谢!
wjl123 2014-12-09
  • 打赏
  • 举报
回复
换 \t 也不行。
chengchow2001 2014-12-09
  • 打赏
  • 举报
回复
你修改下文本,间隔符修改为\t试试
wjl123 2014-12-09
  • 打赏
  • 举报
回复
这么写同样出现报错,一样: 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
wjl123 2014-12-09
  • 打赏
  • 举报
回复
TO chengchow2001. 可以共用吧?我以前经常这么用的。源文件中的列数可以与表中的字段数不一一对应的。我可以将数据导入到指定的列字段上! 这个结论是没有问题的。我测试过的,而且之前也么这用过的。所以你说的这个原因不能解决我说的问题。最简单的方法是你可以试一下.会不会报错。
wjl123 2014-12-09
  • 打赏
  • 举报
回复
我已经将主机上的MYSQL5.0给卸载了,楼上“benluobobo ” 说他不在5.0上可以正常执行,我理解他在5.5 或5.6上可以正常执行,我正在装5.6呢,搞了一快天了。5.6我装不上啊。郁闷!!! 我也不清楚,5.5 或5.6 版本是否真的就可以正常执行,希望哪位好心人再帮我试一下,帖个能成功执行的LOG让我看一下。我对他的话表示质疑。真的5.5 或5.6就能成功执行吗? 能否给了执行成功的LOG ? 几乎快崩溃了。
chengchow2001 2014-12-09
  • 打赏
  • 举报
回复
这个问题有人问过了 ( Frame_number, SCCP_TYPE ); 和 FIELDS TERMINATED BY ';' OPTIONALLY ENCLOSED BY '' LINES TERMINATED BY '\n' 不能共用 要么你修改文本格式 sed -ri 's/;/\t/g' abc.txt 要么你两个只能用一个
加载更多回复(3)

56,677

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧