【发布时间】:2018-11-19 17:47:30
【问题描述】:
我的 MySQL 数据库中有一个 decimal 字段。我已将其定义为:
decimal(1,1) UNSIGNED NULL。但我想为它设置一个默认值,比如7.0,这就是我遇到的问题。每当我想设置这个值时,我都会收到这个错误:
Invalid default value ...
我也尝试将其设置为7,0 和7,但它导致了同样的错误。 MySQL 十进制字段的正确默认值是什么?
注意:我使用的是 Navicat for MySQL
【问题讨论】:
-
在 DECIMAL 列声明中,可以(并且通常是)指定精度和小数位;...精度表示为值存储的有效位数,小数位表示数字小数点后可以存储的位数。 - dev.mysql.com/doc/refman/8.0/en/fixed-point-types.html,换句话说,1,1 是精度 1 比例 1,对于 0.7 来说足够大,但对于 7.0 来说不够(需要 2,1)
-
知道了。我必须将其声明为
DECIMAL(2,1)才能将7.0作为它的默认值。谢谢你的评论。之前写过,但是没注意里面提供的例子。 -
让我们看看给你带来麻烦的语句。
标签: mysql decimal default-value