插入大量数据时如何修复MySQL数据截断错误?

新手上路,请多包涵

我正在使用来自 Java 应用程序的相当简单的数据库。我们试图使用标准的 JDBC mysql 适配器一次插入大约 200k 的文本。我们间歇性地得到一个 com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column error.

列类型为 longtext ,数据库排序规则为 UTF-8 。使用 MyISAMInnoDB 表引擎时会出现错误。客户端和服务器端的最大数据包大小均设置为 1 GB,因此这也不会造成问题。

原文由 Jeremy Witmer 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 902
1 个回答

检查您的 UTF-8 数据是否全部为 3 字节 Unicode。如果你有 4 字节的字符(在 Unicode 和 Java 中合法,在 MySQL 5 中非法),当你尝试插入它们时它会抛出这个错误。这是一个 应该在 MySQL 6.0 中修复的问题

原文由 Avi 发布,翻译遵循 CC BY-SA 2.5 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题