MySql TEXT 列的最大字符长度是多少?
Posted
技术标签:
【中文标题】MySql TEXT 列的最大字符长度是多少?【英文标题】:What's the maximum character length of a MySql TEXT column? 【发布时间】:2018-01-10 06:03:48 【问题描述】:我正在使用 mysql 5.5.37。我有一个带有以下列的 InnoDB 表
| MESSAGE | text | YES | | NULL | |
我注意到我们的日志(我们使用 Hibernate v5)中有类似的错误
Caused by: com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 'MESSAGE' at row 1
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4094) [mysql-connector-java-5.1.22-bin.jar:]
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4028) [mysql-connector-java-5.1.22-bin.jar:]
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2490) [mysql-connector-java-5.1.22-bin.jar:]
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2651) [mysql-connector-java-5.1.22-bin.jar:]
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2734) [mysql-connector-java-5.1.22-bin.jar:]
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2155) [mysql-connector-java-5.1.22-bin.jar:]
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2458) [mysql-connector-java-5.1.22-bin.jar:]
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2375) [mysql-connector-java-5.1.22-bin.jar:]
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2359) [mysql-connector-java-5.1.22-bin.jar:]
at org.jboss.jca.adapters.jdbc.CachedPreparedStatement.executeUpdate(CachedPreparedStatement.java:115)
at org.jboss.jca.adapters.jdbc.WrappedPreparedStatement.executeUpdate(WrappedPreparedStatement.java:493)
at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:204) [hibernate-core-5.1.5.Final.jar:5.1.5.Final]
我的问题是,TEXT 列的最大长度(以字符为单位)是多少?
【问题讨论】:
您是否尝试过寻找答案?重复的问题标题与您的几乎相同。 最大长度为 64K bytes,介于 16K 和 64Kutf8mb4
characters 之间。切换到MEDIUMTEXT
以增加限制。
【参考方案1】:
这个问题是关于字符的;提议的“dup”大约是 bytes。所以,我重新打开了它。
TEXT
列的最大长度为 64K 字节,介于 16K 和 64K utf8mb4
字符之间。
你们中的一些人正在使用latin1
,64K。如果utf8
,则为 64K/3。等等。
切换到MEDIUMTEXT
将限制增加到 16M(或 16M/4 等)。
【讨论】:
以上是关于MySql TEXT 列的最大字符长度是多少?的主要内容,如果未能解决你的问题,请参考以下文章