我有一个 decimal
mysql数据库中的字段。我将其定义为: decimal(1,1) UNSIGNED NULL
. 但是我想为它设置一个默认值 7.0
,这就是我的问题。每当我想设置这个值时,就会出现以下错误:
Invalid default value ...
我也试着把它设为 7,0
以及 7
但结果是同样的错误。mysql十进制字段的正确默认值是什么?
注意:我正在使用navicat for mysql
我有一个 decimal
mysql数据库中的字段。我将其定义为: decimal(1,1) UNSIGNED NULL
. 但是我想为它设置一个默认值 7.0
,这就是我的问题。每当我想设置这个值时,就会出现以下错误:
Invalid default value ...
我也试着把它设为 7,0
以及 7
但结果是同样的错误。mysql十进制字段的正确默认值是什么?
注意:我正在使用navicat for mysql
1条答案
按热度按时间tpxzln5u1#
在mysql中,声明
DECIMAL(P,S)
:精度(p)表示为值存储的有效位数,小数位数(s)表示小数点后可以存储的位数。
所以在你的例子中,
DECIMAL(1,1)
表示最多1位,点后最多1位。。。这根本说不通。为了更好地理解,这里有更多的例子:
DECIMAL(5,2)
:5位数字,其中两位用于小数部分。因此,可能的值范围为-999.99到999.99DECIMAL(5,0)
:不允许小数部分,因此它相当于一个最多5位的整数。与
UNSIGNED
,行为相同,但使用减号将引发错误。