MySQL“;0或1“;CSV文件中的列作为“导入”;127“;
我正在尝试将CSV文件导入MySQL数据库 我的CVS文件中的一列(WIN_标志)的值为“1”或“0” 当我将CSV文件导入表中时,表中WIN_FLAG列下的每个值都是“127” 下面是一个大致的例子: 对于CSV文件:MySQL“;0或1“;CSV文件中的列作为“导入”;127“;,mysql,sql,csv,types,import,Mysql,Sql,Csv,Types,Import,我正在尝试将CSV文件导入MySQL数据库 我的CVS文件中的一列(WIN_标志)的值为“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 Do
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),这两种方法都给了我这个问题
此列是否应该使用其他数据类型?还是另一个问题
谢谢你的帮助。127是mysql中一小片的最大值 使用tinyint(1)或tinyint(4)不会改变数据的存储方式,但会限制返回的字符数 我认为问题不在于数据库,而在于加载过程如何解释电子表格中的值。如果导入的值真的是integer=1或integer=0,它们将复制到tinyint列中
尝试查看您导入的原始数据。如果数字周围有引号,那么导入数据的方式可能会错误地将其解释为字符值,并将其转换为整数。127是mysql中一个tinyint的最大值 使用tinyint(1)或tinyint(4)不会改变数据的存储方式,但会限制返回的字符数 我认为问题不在于数据库,而在于加载过程如何解释电子表格中的值。如果导入的值真的是integer=1或integer=0,它们将复制到tinyint列中
尝试查看您导入的原始数据。如果数字周围有引号,那么导入数据的方式可能是错误地将其解释为字符值并将其转换为整数。尝试使用int(10)来解决问题。您是如何进行导入的<代码>加载数据填充,或PHP脚本,或其他什么?导入由我的Web主机完成,由于某些安全问题,他们不允许我导入CSV文件。如果有帮助的话,就是HostGator。原始数据中的1和0没有引号。请尝试int(10)来解决问题。您是如何进行导入的<代码>加载数据填充,或PHP脚本,或其他什么?导入由我的Web主机完成,由于某些安全问题,他们不允许我导入CSV文件。如果有帮助的话,那就是HostGator。原始数据中没有1和0的引号。谢谢你的帮助。excel中的1或0列周围似乎没有引号。你能推荐另一种导入数据的方法吗?可能是布尔值?如果您正在发送1和0,而其他人正在导入该文件,并且tinyint值为127,则导入过程有问题。我猜他们可能有某种专栏混乱。我见过这种情况,当excel文档中有一个“隐藏”列时,它会抛出这些列。也许可以检查发送给他们的excel文件。确保列标题不跳过(即A、B、C而不是A、C、D、e)。感谢您的帮助。excel中的1或0列周围似乎没有引号。你能推荐另一种导入数据的方法吗?可能是布尔值?如果您正在发送1和0,而其他人正在导入该文件,并且tinyint值为127,则导入过程有问题。我猜他们可能有某种专栏混乱。我见过这种情况,当excel文档中有一个“隐藏”列时,它会抛出这些列。也许可以检查发送给他们的excel文件。确保列标题不跳过(即A、B、C而不是A、C、D、e)。