MySQL Error number: 3859; Symbol: ER_WARN_DEPRECATED_FLOAT_UNSIGNED; SQLSTATE: HY000 报错 故障修复 远程处理
文档解释
Error number: 3859; Symbol: ER_WARN_DEPRECATED_FLOAT_UNSIGNED; SQLSTATE: HY000
Message: UNSIGNED for decimal and floating point data types is deprecated and support for it will be removed in a future release.
错误说明
ER_WARN_DEPRECATED_FLOAT_UNSIGNED错误表明,MySQL正在使用不推荐使用的浮点数。此类型的变量是无符号的,意味着它没有负值,最大可能值为65535。在MySQL 5.7.5版本以下,浮点数只能定义为无符号的。
常见案例
常见案例
解决方法
最简单的解决方法是升级至MySQL 5.7.5版本以上,以支持无符号浮点变量。如果不能升级到此版本,请使用支持无符号浮点变量的替代类型,例如INT,FLOAT或DECIMAL 。用户可以更改MySQL中的浮点类型,以便它支持无符号浮点类型。为此,用户可以登录到MySQL,运行以下语句:
ALTER TABLE MODIFY COLUMN DECIMAL(255,2) UNSIGNED;
此外,用户还可以禁用MySQL的检查功能,以便不再发出此警告,运行以下SQL语句:
SET GLOBAL sql_mode= ‘NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION’;
总的来说,ER_WARN_DEPRECATED_FLOAT_UNSIGNED错误表明MySQL正在使用不再推荐使用的浮点数。最佳解决方案是升级到MySQL 5.7.5以上版本,也可以改变MySQL中的浮点类型,以支持无符号浮点类型,或禁用MySQL的检查功能。