Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL 5.7中JSON列的最大大小_Mysql - Fatal编程技术网

MySQL 5.7中JSON列的最大大小

MySQL 5.7中JSON列的最大大小,mysql,Mysql,在MySQL 5.7数据库中给定此表mydb: CREATE TABLE `foo` ( `id` int(11) NOT NULL AUTO_INCREMENT, `stuff` json DEFAULT NULL, PRIMARY KEY (`id`) ) 如何获得stuff列中数据的最大大小?不是最大可能大小,而是表中所有行的最大当前大小。我曾尝试从foo中选择max(JSON_STORAGE_SIZE(stuff)),但我得到了错误错误1305(42000):函数mydb

在MySQL 5.7数据库中给定此表
mydb


CREATE TABLE `foo` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `stuff` json DEFAULT NULL,
  PRIMARY KEY (`id`)
)

如何获得
stuff
列中数据的最大大小?不是最大可能大小,而是表中所有行的最大当前大小。我曾尝试从foo中选择max(JSON_STORAGE_SIZE(stuff)),但我得到了错误
错误1305(42000):函数mydb.JSON_STORAGE_SIZE不存在

您可以通过将其作为字符串查询来获得大致长度:

SELECT MAX(LENGTH(stuff)) FROM foo
但这可能与
JSON\u STORAGE\u SIZE()
不匹配

MySQL 5.7.22中添加了
JSON\u STORAGE\u SIZE()
函数。如果您的版本较旧,除非升级,否则无法使用该功能


您看到的错误表明MySQL不知道它是一个内置函数,因此它试图执行它,就像您创建了一个使用该名称的存储函数一样。

可能是
length
sum
max
函数返回最大值,而不是长度/大小。