【问题标题】:Max size of JSON column in MySQL 5.7MySQL 5.7 中 JSON 列的最大大小
【发布时间】:2021-02-03 09:33:32
【问题描述】:

鉴于此表位于 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

【问题讨论】:

  • 可能是lengthsummax 函数返回最大值,而不是长度/大小。

标签: mysql


【解决方案1】:

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

SELECT MAX(LENGTH(stuff)) FROM foo

这可能与 JSON_STORAGE_SIZE() 不匹配。

JSON_STORAGE_SIZE() 函数是在 MySQL 5.7.22 中添加的。如果您有旧版本,则除非升级,否则无法使用该功能。

你看到的错误表明 MySQL 不知道它是一个内置函数,所以它试图执行它,就好像你用那个名字创建了一个存储函数一样。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-04-04
    • 2015-06-22
    • 1970-01-01
    • 1970-01-01
    • 2021-07-16
    • 2017-10-31
    • 2010-12-05
    • 2015-08-26
    相关资源
    最近更新 更多