复制大尺寸的 JSON 内容并粘贴到 MySQL 列中

复制大尺寸的 JSON 内容并粘贴到 MySQL 列中

我在 MySQL 表中有一个数据类型为“JSON”的列(我有 MySQL 8)。我有一个由我的 BE 代码创建的 20 MB JSON 文件,我想将 JSON 文件的内容复制并粘贴到框中。但是当我复制和粘贴内容时,我的 phpMyadmin 一直冻结。内容未成功添加到列中。

在此处输入图片描述

根据MySQL 用户指南,最大行大小限制为 65,535 字节:

以下 InnoDB 和 MyISAM 示例演示了 MySQL 的最大行大小限制为 65,535 字节。无论存储引擎是什么,都会强制执行此限制,即使存储引擎可能能够支持更大的行。

但是如果我将 JSON 大小减少到 155,648 字节,我就可以复制内容并粘贴到列中。

MySQL 是否允许我们复制大尺寸的 JSON 内容并将其粘贴到 MySQL 列中? 如果是,那么将 20 MB JSON 文件的内容复制并粘贴到 MySQL 列中的正确方法是什么?

我对 MySQL 还很陌生,非常感谢任何帮助!

答案1

您引用的关于每行 64KB 限制的说法是错误的。MyISAM 允许更大的行;InnoDB 将大列置于“不记录”状态。

phpmyadmin 是基于 PHP 构建的,并在 Apache(或其他 Web 服务器)下运行。两者都对表单大小等有限制。我认为您需要进行一些编程,以便可以使用编程语言(而不是 UI)来完成任务。

然后 MySQL 有一个名为的设置max_allowed_packet,可以设置为(或默认为) 16M 或更少。

相关内容