Error number: 3858; Symbol: ER_WARN_DEPRECATED_FLOAT_DIGITS; SQLSTATE: HY000
Message: Specifying number of digits for floating point data types is deprecated and will be removed in a future release.
ER_WARN_DEPRECATED_FLOAT_DIGITS 错误
ER_WARN_DEPRECATED_FLOAT_DIGIT 是MySQL 服务器上发生的一个SQLSTATE =’HY000’的错误。它的错误消息是'[HY000] [MySQL] [Warning] ‘float_digits’ is deprecated and will be removed in a future release.’,提醒用户float_digits函数已不被支持,未来版本将会删除该函数。
该错误表示浮点数字的DECIMAL_DIGITS设置与MYSQL数据库的运行环境不兼容。 这通常是查询代码中使用函数 float_digits(…) 导致的错误 ,或是使用标准MySQL字段或表格时float_digits(…) 处在SQL语句中,而MySQL版本不支持这个函数。
常见案例
下面以MySQL文档内容举例,演示一下这个错误:
mysql> SELECT FLOAT_DIGITS(1.2);
ERROR 3858 (HY000): [MySQL] [Warning] ‘float_digits’ is deprecated and will be removed in a future release.
解决方法
由于float_digits函数已被标记为过时,因此这个报错并不影响MySQL程序的正常运行。MySQL不支持,但仍建议您将float_digits函数替换为DECIMAL_DIGITSUSE DECIMAL_DIGITS,来完成您原有的功能。换句话说,您可以使用DECIMAL_DIGITS函数替换float_digits函数,以支持最新的MySQL。
例如,如果上面报错示例中,一致使用DECIMAL_DIGITS替换float_digits,更正MySQL报错:
mysql> SELECT DECIMAL_DIGITS(1.2);
+———————–+
| DECIMAL_DIGITS(1.2) |
+———————–+
| 2 |
+———————–+
1 row in set (0.00 sec)