Moh*_*eri 5 mysql decimal default-value
decimal我的 MySQL 数据库中有一个字段。我已将其定义为:
decimal(1,1) UNSIGNED NULL。但我想为它设置一个默认值,比如7.0,这就是我遇到的问题。每当我想设置这个值时,我都会收到这个错误:
Invalid default value ...
Run Code Online (Sandbox Code Playgroud)
我也尝试将其设置为7,0,7但它导致了同样的错误。MySQL十进制字段的正确默认值是多少?
注意:我使用 Navicat for MySQL
在 MySQL 中,声明时DECIMAL(P,S):
精度 (P) 表示存储的值的有效位数,小数位 (S) 表示小数点后可以存储的位数。
所以在你的例子中,DECIMAL(1,1)意味着最多 1 位数字,并且点后最多 1 位数字......这实际上没有意义。
为了更好地理解,这里有更多示例:
DECIMAL(5,2):5 位数字,其中两位用于小数部分。因此,可能的值范围为 -999.99 到 999.99DECIMAL(5,0):不允许有小数部分,因此相当于最多 5 位的整数。对于UNSIGNED,行为是相同的,但使用减号会引发错误。