在MySQL 5.7数据库mydb中给定此表
CREATE TABLE `foo` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`stuff` json DEFAULT NULL,
PRIMARY KEY (`id`)
)如何获得stuff列中数据的最大大小?不是最大可能的大小,而是表中所有行的最大当前大小。我尝试过SELECT max(JSON_STORAGE_SIZE(stuff)) from foo,但是我得到了错误ERROR 1305 (42000): FUNCTION mydb.json_storage_size does not exist。
发布于 2020-10-20 15:51:45
通过将其查询为字符串,您可以获得一个近似长度:
SELECT MAX(LENGTH(stuff)) FROM foo不过,这可能与JSON_STORAGE_SIZE()不匹配。
JSON_STORAGE_SIZE()函数在MySQL 5.7.22中添加。如果您有一个旧版本,您不能使用该功能,除非您升级。
您看到的错误表明,MySQL不知道它是一个内置函数,因此它试图执行它,就好像您已经用这个名称创建了一个存储函数一样。
https://stackoverflow.com/questions/64447138
复制相似问题