【问题标题】:Trouble storing more than 64000 in mysql mediumtext column在 mysql 中文本列中存储超过 64000 个时出现问题
【发布时间】:2009-07-18 01:51:28
【问题描述】:

我很难在 mysql 中定义为 mediumtext 的列中存储超过 64000 个。我之前遇到了 text 数据类型的限制,因此决定删除该列并将其重新创建为 mediumtext 字段。麻烦的是,我的数据被截断为 64000 字节。

我仔细检查了该字段现在是一个中等文本字段。我能说的最好的情况是,您不必像使用 varchar 字段那样在创建列时指定长度。

任何想法为什么将其限制为 64000 以及如何更改它?

【问题讨论】:

    标签: mysql coldfusion limit


    【解决方案1】:

    CF Admin 数据源高级部分中有一个选项可以设置最大列大小,默认为 64000,因此这很可能是您的问题。

    如果您自己无权访问 CF 管理员,则需要联系您的托管服务提供商并要求他们为您增加。

    【讨论】:

    • 太棒了!就是这样。对于可能会发现此内容的其他人...在您的数据源下,单击高级选项并调整“长文本缓冲区(chr)”的值。谢谢!
    【解决方案2】:

    如果可以的话,我会尝试使用 MySQL 客户端插入一些很长的内容,只是为了仔细检查是否可以正常工作。如果没有,“SHOW WARNINGS”应该会告诉你发生了什么。

    我不禁想知道这是否是某种冷聚变的东西(我没有这方面的经验)。中文本应该足够长,并且您确认事情发生了变化。

    Gabriel 建议了最大数据包大小限制。这是个好主意,但我有点怀疑就是这样。默认大小为 1MB,除非您一次发送多个插入/更新,否则这应该不是问题。

    您可以询问您的托管服务提供商当前的大小。如果它非常小,您可以随时询问他们是否愿意增加它。另一方面,如果它是 8MB、16MB 或更多,我怀疑这会是问题所在(同样,除非您要批量处理许多大的更改)。

    当您进行描述时,表定义究竟是什么样的?除非它说“MEDIUMTEXT(65536)”之类的内容,否则这不应该是您的问题。

    【讨论】:

      【解决方案3】:

      你应该在 my.cnf 中设置 max_packet_size

      你有关于那个的线程吗...here

      感谢

      【讨论】:

      • 我在托管环境中,不相信我可以更改此值。你真的觉得这是限制吗?如果是这样,它应该设置为什么?
      • 我被否决了,我不知道为什么……我的回复和你接受的很相似
      • 不确定为什么投反对票 - 虽然这不是答案,但检查数据源设置是否不是原因是有效的。
      猜你喜欢
      • 2022-01-13
      • 2012-11-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-25
      • 2020-03-09
      • 1970-01-01
      相关资源
      最近更新 更多