我很难在 mysql 中定义为 mediumtext 的列中存储超过 64000 个。我之前遇到了 text 数据类型的限制,因此决定删除该列并将其重新创建为 mediumtext 字段。麻烦的是,我的数据被截断为 64000 字节。
我确实仔细检查了该字段现在是一个中等文本字段。我能说的最好的情况是,您不必像使用 varchar 字段那样创建列时指定长度。
任何想法为什么这将限制为 64000 以及如何更改它?
我很难在 mysql 中定义为 mediumtext 的列中存储超过 64000 个。我之前遇到了 text 数据类型的限制,因此决定删除该列并将其重新创建为 mediumtext 字段。麻烦的是,我的数据被截断为 64000 字节。
我确实仔细检查了该字段现在是一个中等文本字段。我能说的最好的情况是,您不必像使用 varchar 字段那样创建列时指定长度。
任何想法为什么这将限制为 64000 以及如何更改它?
CF Admin 数据源高级部分中有一个选项可以设置最大列大小,默认为 64000,因此这很可能是您的问题。
如果您自己无权访问 CF 管理员,则需要联系您的托管服务提供商并要求他们为您增加。
如果可以的话,我会尝试使用 MySQL 客户端插入一些很长的东西,只是为了仔细检查它是否正常工作。如果没有,“SHOW WARNINGS”应该告诉你发生了什么。
我不禁想知道这是否是某种冷融合的东西(我没有经验)。中文本应该足够长,并且您确认事情发生了变化。
Gabriel 建议了最大数据包大小限制。这是个好主意,但我有点怀疑就是这样。默认大小为 1MB,除非您一次发送多个插入/更新,否则这应该不是问题。
您可以询问您的托管服务提供商当前的大小。如果它非常小,您可以随时询问他们是否愿意增加它。另一方面,如果它是 8MB、16MB 或更多,我怀疑这会是问题所在(同样,除非您批量进行许多大的更改)。
当您进行描述时,表定义到底是什么样的?除非它说“MEDIUMTEXT(65536)”之类的东西,否则这不应该是你的问题。