我正在尝试将CSV文件导入MySQL数据库。
我的CVS文件中的一个列(WIN_FLAG)的值不是"1“就是"0”。
当我将CSV文件导入表中时,表中WIN_FLAG列下的每个值都是"127“。
正在发生的事情的一个粗略例子如下:
对于CSV文件:
Name Date WIN_FLAG
Dog 23/06/12 0
Cat 22/07/13 1
Mouse 21/05/11 0表中在导入后显示的内容:
Name Date WIN_FLAG
Dog 23/06/12 127
Cat 22/07/13 127
Mouse 21/05/11 127我认为这个问题与我的WIN_FLAG专栏的数据类型有关。
我试过tinyint(4)和tinyint(1),这些都给了我这个问题。
对于这个专栏,我应该使用不同的数据类型吗?还是另一个问题?
谢谢你的帮助。
发布于 2013-11-12 04:33:54
127是mysql中的tinyint的最大值。
使用tinyint(1)或tinyint(4)不会改变数据的存储方式,但会限制返回的字符数。
http://dev.mysql.com/doc/refman/5.1/en/integer-types.html
我认为问题不在于数据库,而在于加载过程如何解释电子表格中的值。如果导入的值确实是整数=1或整数= 0,则它们将复制到tinyint列中。
尝试查看导入的原始数据。如果您的数字周围有引号,那么导入数据的方式可能是错误地将它们解释为字符值并将它们转换为整数。
https://stackoverflow.com/questions/19920838
复制相似问题