MySQL Error number: 3154; Symbol: ER_JSON_BAD_ONE_OR_ALL_ARG; SQLSTATE: 42000 报错 故障修复 远程处理
文档解释
Error number: 3154; Symbol: ER_JSON_BAD_ONE_OR_ALL_ARG; SQLSTATE: 42000
Message: The oneOrAll argument to %s may take these values: ‘one’ or ‘all’.
错误说明
ER_JSON_BAD_ONE_OR_ALL_ARG 为MySQL的错误码之一。它表示MySQL在执行JSON函数时发生错误,表明调用函数的参数不正确或者部分参数不正确或者不正确的类型。该错误一般出现在使用JSON函数时期望一个参数而传入了多个参数,或者调用该函数传入的参数不正确,或者传入了无效的参数类型。
常见案例
这个错误可能出现在使用JSON函数时发生错误,例如当调用JSON_EXTRACT()函数时传入非标量(如JSON字符串)的参数。例如:
mysql> SELECT JSON_EXTRACT(JSON_OBJECT(‘a’, ‘b’), ‘a’, ‘b’);
ERROR 3154 (42000): ER_JSON_BAD_ONE_OR_ALL_ARG: JSON function ‘json_extract()’ expects either one or all arguments to be scalar.
此外,调用JSON函数时传入多于期望的参数,也会引发该错误,例如:
mysql> SELECT JSON_EXTRACT(JSON_OBJECT(‘a’, ‘b’), ‘a’, ‘b’, ‘c’);
ERROR 3154 (42000): ER_JSON_BAD_ONE_OR_ALL_ARG: JSON function ‘json_extract()’ expects either one or all arguments to be scalar.
解决方法
该错误可以通过检查函数的调用参数的个数以及类型,以确保所有调用参数正确无误来解决。同时,还需要确保传入的参数是标量,而不是JSON对象或字符串等非标量值。同时,也需要确保正确的参数被传入,确保不传入多余的参数。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341