【发布时间】:2016-07-26 09:26:37
【问题描述】:
我正在使用 PHP 和 MySQL 开发一个 Web 应用程序,并且我试图将一个大于 100 万的值存储在一行中。每当我插入数据库时,假设我尝试插入 45,234,023.34(无论是什么值),它总是会被截断为 999,999.99。我为该特定列选择了一个无符号长整数。我知道这是该数据类型的最大值,根据以下link。此外,我永远不必担心超过 2 位小数。不管是什么情况,我所有的运算都将始终是 2 位小数。
你们知道怎么解决吗?在这些情况下,正确的做法是什么?
提前感谢您的宝贵时间。
更新:
这是 SQL 代码:
create table `values` (`id` int unsigned not null auto_increment primary key, `desc` text null, `concept` text null, `value` double null, `created_at` timestamp default 0 not null, `updated_at` timestamp default 0 not null) default character set utf8 collate utf8_unicode_ci
请记住,我感兴趣的列称为“价值”。谢谢!
【问题讨论】:
-
那么您的数据库列数据类型/大小是什么?
-
请为表添加 CREATE 语句以及用于插入这些值的代码
-
DECIMAL 数据类型似乎正是您想要的。 dev.mysql.com/doc/refman/5.7/en/…
-
@MarkBaker 添加了代码!
-
@reto 添加了代码!
标签: mysql database database-design floating-point