【问题标题】:import CSV value "number" into mysql as a number [closed]将CSV值“数字”作为数字导入mysql [关闭]
【发布时间】:2018-05-01 10:03:46
【问题描述】:

我正在尝试将 csv 文件导入 mysql。 我希望将csv中的数字(没有任何(')的302716684182)作为数字添加到mysql中。但我能够导入“数字”的唯一方法是导入“varchar”列。 例如,如果我尝试导入并更改为“int”,如果我将 mysql col 类型保留为“varchar”,它会将数字更改为 2147483647。

$sqlsetval .= $heading['table_header']." = '". (int)$num."',";

我只能假设我的原始值是一个数字,我不需要将它转换为整数。但是当我尝试不使用 (int) 并将 mysql col 类型更改为“int”时,结果是一个完全不同的数字。

所以我的问题是: 如果我的值是 csv 中的数字,我如何将它作为数字添加到 mysql 以及我应该在 mysql 中使用什么列类型?

我一直认为 'int' 用于数字,而 'varchar' 用于字符串?还是我想多了,将数字作为字符串带入并不重要?

【问题讨论】:

  • 不,它不是负数,它是一个不包含在任何字符中的 ID 号
  • 谷歌那个号码2147483647,你会找到你的解决方案;已经问过了。
  • 例如item_id = 302716684182 而不是 item_id = "302716684182"
  • 史蒂夫,我的回答解决了你的问题。不要使用 int,使用 bigint。
  • 啊,这就是 Mark Overton 所说的最大整数值

标签: php mysql csv


【解决方案1】:

尝试使用值为“20”的数据类型“bigint”。

int 数据类型的范围是 -2,147,483,648 2,147,483,647。

bigint 数据类型的范围是 -9,223,372,036,854,775,808 9,223,372,036,854,775,807。

突出显示“to”这个词,以便您可以看到它是两个不同的数字。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-12
    • 1970-01-01
    • 2011-06-16
    • 1970-01-01
    相关资源
    最近更新 更多