首页 > 解决方案 > 将 CSV 值“数字”作为数字导入 mysql

问题描述

我正在尝试将 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' 用于字符串?还是我想多了,将数字作为字符串带入并不重要?

标签: phpmysqlcsv

解决方案


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

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

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

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


推荐阅读