php - 将 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' 用于字符串?还是我想多了,将数字作为字符串带入并不重要?
解决方案
尝试使用值为“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”一词,以便您可以看到它是两个不同的数字。
推荐阅读
- windows - Windows 服务和 WINFORMS 应用程序之间的双向通信
- internet-explorer - SVG with width:auto 不影响 IE11 中包含锚标记的宽度
- bash - 无法使用 tee 命令一次清空多个文件
- python-3.x - 无论python版本如何,如何在一行中打印可迭代?
- apache-spark - 无法从 spark 插入 hive 分区表
- css - 对于 CSS 动画,我可以指定一个已经指定的 CSS 块作为目标吗?
- vue.js - 绑定到外部变量的数据属性对变量更改没有反应
- c++ - 从 Character 类中分离 HP 和 Attack 变量?在 C++ 中
- c++ - QBS为静态链接MSVC创建静态库
- python - Bazel、python3 和 python 解释器选项