题
有人知道这件事吗?
解决方案
文档说:
M是最大位数( 精确)。它的范围是1到65。 (较早版本的MySQL允许使用 范围为1到254。)
D是右边的位数 小数点(比例)。它 范围为0到30,必须为no 大于M.
所以M代表最大(总数位数),D代表小数(小数点右边的位数)。
其他提示
https://dev.mysql.com/doc/refman/5.7/en/ precision-math-decimal-characteristics.html
DECIMAL 列的声明语法为 DECIMAL(M,D)。MySQL 5.1 中参数的取值范围如下:
- M 是最大位数(精度)。它的范围是 1 到 65。(旧版本的 MySQL 允许的范围为 1 到 254。)
- D 是小数点右侧的位数(刻度)。它的范围是 0 到 30,并且不得大于 M。
[笔记:上面的链接已更新为指向 MySQL 5.7 文档,但文本引用自 MySQL 5.1 文档。]
这 文档 说:
DECIMAL 列的声明语法仍然是 DECIMAL(M,D),尽管参数的值范围有所更改:
M 是最大位数(精度)。它的范围是 1 到 65。这可能会导致旧应用程序不兼容,因为以前版本的 MySQL 允许范围为 1 到 254。(65 位精度实际上从 MySQL 5.0.6 开始适用。从5.0.3到5.0.5,精度为64位。)
D 是小数点右侧的位数(刻度)。它的范围是 0 到 30,并且不得大于 M。
不隶属于 StackOverflow