MySQL Error number: 3961; Symbol: ER_WARN_DEPRECATED_JSON_TABLE_ON_ERROR_ON_EMPTY; SQLSTATE: HY000 报错 故障修复 远程处理
文档解释
Error number: 3961; Symbol: ER_WARN_DEPRECATED_JSON_TABLE_ON_ERROR_ON_EMPTY; SQLSTATE: HY000
Message: Specifying an ON EMPTY clause after the ON ERROR clause in a JSON_TABLE column definition is deprecated syntax and will be removed in a future release. Specify ON EMPTY before ON ERROR instead.
错误说明:
ER_WARN_DEPRECATED_JSON_TABLE_ON_ERROR_ON_EMPTY错误消息是MySQL数据库服务器向应用程序和用户发出的警告,主要表明”JSON_TABLE”函数不再支持’ON ERROR’参数或其默认值”ERROR”,同时也不再支持’ON EMPTY’参数或其默认值”EMPTY”. ‘ON ERROR’参数表示,如果给定的JSON没有找到要查找的列,则发出警告或引发错误,而’ON EMPTY’参数表示,如果没有找到要查找的列,则返回空行。
常见案例
如果在MySQL中使用了JSON_TABLE函数,但是没有正确设置’ON ERROR’参数,则可能会引发ER_WARN_DEPRECATED_JSON_TABLE_ON_ERROR_ON_EMPTY错误消息。此外,如果在使用JSON_TABLE函数时使用了’ON EMPTY’参数,而不是使用NULL或DEFAULT,也可能会引发此错误。
解决方法:
解决ER_WARN_DEPRECATED_JSON_TABLE_ON_ERROR_ON_EMPTY错误的最佳方法是不再使用’ON ERROR’参数,仅使用NULL或DEFAULT来确保一致的语法正确性。此外,’ON EMPTY’参数也不应再使用,也应使用NULL或DEFAULT来避免语法错误。最后,要注意这个错误会引发警告,但不会引发意外的错误。因此,编程人员应注意此警告以避免将来可能出现的问题。