mysql # 1305函数数据库名.json_arrayagg不存在

wi3ka0sx  于 2023-01-04  发布在  Mysql
关注(0)|答案(4)|浏览(791)

也许我漏掉了什么。但是为什么这个函数不存在呢?
根据文件,其应为:https://dev.mysql.com/doc/refman/5.7/en/group-by-functions.html
版本号:5.7.21- 0版本号:0.16.04.1
有人能帮我一下吗?这个函数能帮我个大忙。

nhn9ugyo

nhn9ugyo1#

JSON_ARRAYAGG是在MySQL 5.7.22中引入的。
如果函数名和括号之间有一个空格(JSON_OBJECTAGG ("item", item.item_id)),默认情况下,MySQL不会将函数名作为内置函数处理。
您可以删除函数名和圆括号之间的空格,也可以使用sql_mode IGNORE_SPACE。不使用空格更简单。

57hvy0tb

57hvy0tb2#

我也遇到了类似的问题(#1305 FUNCTION dbname.json_arrayagg不存在).有人能解释一下是什么问题吗?XAMPP + PHP Version 8. 0. 10 + 10. 4. 21-MariaDB

SELECT JSON_OBJECTAGG(category_id,accuracy) FROM post_core_category GROUP BY post_core_id;
mbzjlibv

mbzjlibv3#

我遇到了同样的问题,手动更新您的MariaDB到10.5.0

小心您的数据!

https://mariadb.com/kb/en/json_objectagg/
JSON_OBJECTAGG玛丽亚数据库(从10.5.0开始)
在MariaDB 10.5.0中添加了JSON_OBJECTAGG。

1tu0hz3e

1tu0hz3e4#

您可以使用相同的方法使用不同的函数

// 1-  DB::raw(" JSON_ARRAYAGG(json_extract(title)) AS test")

 // 2-  DB::raw(" CONCAT('[', GROUP_CONCAT(JSON_EXTRACT(title)), ']')  AS test")

 // 3-  DB::raw(" GROUP_CONCAT(JSON_UNQUOTE(JSON_EXTRACT(title)))  AS test")

相关问题