我正在尝试将csv文件导入mysql。 我希望csv中的数字(302716684182没有任何('))作为数字添加到mysql中。但我能够导入“数字”的唯一方法是“varchar”列。 如果我尝试导入并更改为“int”,例如,如果我将mysql col类型保留为“varchar”,则将数字更改为2147483647。
$sqlsetval .= $heading['table_header']." = '". (int)$num."',";
我只能假设我的原始值是一个数字我不需要将它转换为整数。但是当我尝试不使用(int)并将mysql col类型更改为“int”时,结果是一个完全不同的数字。< / p>
所以我的问题是: 如果我的值是csv中的数字,我如何将它作为数字添加到mysql中,我应该在mysql中使用哪种列类型?
我一直认为'int'代表数字而'varchar'代表字符串?或者我是否过度思考并且最重要的是它将数字作为字符串输入?
答案 0 :(得分:2)
尝试使用值为'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'这个词,所以你可以看到它是两个不同的数字。