【发布时间】: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 所说的最大整数值