`
kxys422834
  • 浏览: 42365 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

mysql的load data有bug

阅读更多
   今天才知道txt文件其实也是有字符编码的。一般情况下,txt文件都是ansi字符编码,当然也可以换成utf8。
   mysql的load data有bug,这个在某个情况下会出现。mysql数据库属性设置为utf8。在数据库中建一张表:
DROP TABLE IF EXISTS t_cc;
CREATE TABLE t_cc(
	cityId INT NOT NULL,
	cityCode INT(6) PRIMARY KEY  NOT NULL,
	cityName VARCHAR(20) NOT NULL,
	proCode INT(6) NOT NULL
)ENGINE=INNODB;
LOAD DATA INFILE 'd:/a.txt' INTO TABLE t_cc LINES TERMINATED BY '\r\n';

要导入的a.txt文件在下面有。该文件其中基本数据如下:
1 110100 北京市 110000
3 120100 天津市 120000
5 130100 石家庄市 130000
6 130200 唐山市 130000
7 130300 秦皇岛市 130000
8 130400 邯郸市 130000
9 130500 邢台市 130000
然后大家可以看到导入数据库中的第一个数据变成0了.然后我把cityId属性改为VARCHAR的话就没这个问题了。后来又把数据库属性改为gbk,也不会出现这个问题了。
   第一次发帖,是新手,有啥问题请指教啊,这个因该算bug吧。
  • a.rar (115 Bytes)
  • 下载次数: 8
0
0
分享到:
评论
7 楼 kxys422834 2011-01-28  
关于bom头有个介绍,给自己做个标记:http://www.xueit.com/html/2010-10/21-402160462010103014422462.html
6 楼 kxys422834 2011-01-28  
丁林.tb 写道
kxys422834 写道
丁林.tb 写道
但是你提供下载的这个压缩包里面没有bom头呀?

啊,我只是看了大概bom头的意思,发现的确很想这种情况,这个的确是在utf8编码格式下出现的情况。具体的我也没注意啊。怎么查看bom头呢?


ultraedit的二进制模式就可以

看来这个问题还是没有解决。。。

那个估计传的是ansi格式的文件了。刚才我把这个文件转成utf8格式,再用ultraedit看的确看到了bom头EF BB BF。但是当初我这个文件本身就是ansi格式,只是用数据库读它的时候用的是utf编码的。看来数据库设置utf8的话也得注意一下
5 楼 丁林.tb 2011-01-28  
kxys422834 写道
丁林.tb 写道
但是你提供下载的这个压缩包里面没有bom头呀?

啊,我只是看了大概bom头的意思,发现的确很想这种情况,这个的确是在utf8编码格式下出现的情况。具体的我也没注意啊。怎么查看bom头呢?


ultraedit的二进制模式就可以

看来这个问题还是没有解决。。。
4 楼 kxys422834 2011-01-28  
丁林.tb 写道
但是你提供下载的这个压缩包里面没有bom头呀?

啊,我只是看了大概bom头的意思,发现的确很想这种情况,这个的确是在utf8编码格式下出现的情况。具体的我也没注意啊。怎么查看bom头呢?
3 楼 丁林.tb 2011-01-28  
但是你提供下载的这个压缩包里面没有bom头呀?
2 楼 kxys422834 2011-01-27  
kimmking 写道
bom头害死人。
谢谢,让我更进一步知道是怎么回事了,原来是
bom头的元婴啊
1 楼 kimmking 2011-01-26  
bom头害死人。

相关推荐

Global site tag (gtag.js) - Google Analytics