【问题标题】:What is the default Enum value size in MySQLMySQL中的默认枚举值大小是多少
【发布时间】:2014-10-31 11:30:17
【问题描述】:

在 MySQL 表中为 Enum 类型字段插入新值时,第 1 行的“manager”列的数据被截断错误。

我不想修改枚举值大小,因为它需要在生产就绪系统上进行修改。但是我找不到枚举中值的默认大小。 (我已经检查过这个http://dev.mysql.com/doc/refman/5.6/en/enum.html)

额外信息: 我的枚举定义 ENUM('client','taquatoa','api-client')

【问题讨论】:

    标签: java mysql hibernate


    【解决方案1】:

    此错误不仅发生在插入值的大小高于规范(对于任何其他值类型)时,而且还发生在插入与枚举规范不对应的值时。

    我的错误是我没有注意到该文件的 api-client 值没有更新。所以当值不是枚举的一部分时,MySQL 会抛出这个错误。很简单。

    为了回答这个问题,我发现默认的 Enum 值大小是由 enum 声明中较大 size 的值决定的,因此在更改表并添加新枚举时对其进行了修改。

    注意,如果使用 Hibernate、JPA 或其他 ORM 并为字段定义特定长度,也会发生此错误。

    【讨论】:

      猜你喜欢
      • 2011-06-25
      • 2011-03-22
      • 1970-01-01
      • 1970-01-01
      • 2011-01-08
      • 2011-10-27
      • 1970-01-01
      • 2016-10-10
      相关资源
      最近更新 更多