mysql - 容纳单个小数的最小 mysql 类型

标签 mysql database database-design types

这里是数据库新手。我正在设置一个 mysql 表。其中一个字段将接受以 0.5 为增量的值。例如0.5, 1.0, 1.5, 2.0, .... 200.5, 等等

我试过 int 但它没有捕获小数。

`value` int(10), 

考虑到它只是一位小数,可以容纳此值的最小类型是什么。

我也在考虑,因为小数点永远是 0.5(如果有的话),我可以将它存储在一个单独的 bool 字段中吗?所以我会有 2 个字段。这是一个愚蠢的还是有点过于复杂的想法?我不知道它是否真的为我节省了任何内存,而且现在我正在访问 2 个字段而不是 1 个字段,它可能会变慢

`value` int(10), 
`half` bool,  //or something similar to boolean

你们有什么建议吗?第一个选项更好吗?在那种情况下,最小的数据类型是什么能让我得到 0.5?

最佳答案

您需要查看 DECIMAL(P,S) 类型。

为此,P 是精度,S 是比例。您可以将 P 视为总共有多少位数字(包括小数点前后),将 S 视为小数点后有多少位。

例如,要存储从 -999.99 到 999.99 的数据,您需要 5 位精度和 2 位小数位,因此您需要使用 DECIMAL(5, 2) .

在您的情况下,您需要 DECIMAL(n, 1) ,其中 n 是小数点前需要的位数 + 1 表示小数。

关于mysql - 容纳单个小数的最小 mysql 类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2708008/

相关文章:

php - 数据表+服务器端处理=无法在多列中搜索

sql-server - 用户和地址应该位于不同的表中吗?

mysql - 管理数据库中数据的方法

mysql - 将 html 存储在数据库中以供使用有哪些缺点?

ruby-on-rails - Ruby on Rails 中多列的索引

database-design - 将 xml 模式转换为关系模型

mysql - Ruby on Rails,测试表明列不存在,但在架构上

php - MySQL 规范化 - 构建多表房地产列表数据库?

php - undefined variable Laravel 4.1

java - 将 Java Web 应用程序部署到 Amazon