MySQL Error number: 3858; Symbol: ER_WARN_DEPRECATED_FLOAT_DIGITS; SQLSTATE: HY000 报错 故障修复 远程处理

文档解释

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)


数据运维技术 » MySQL Error number: 3858; Symbol: ER_WARN_DEPRECATED_FLOAT_DIGITS; SQLSTATE: HY000 报错 故障修复 远程处理