数据截断:列grails GSP字段的数据太长

时间:2014-05-30 12:15:41

标签: grails gsp

我的项目中有这个域类。 这是一个样本

public class empHistory {

String respField
String addInfo

static constraints = {

        respField(nullable: true, maxSize:100)
        updatedByUser(nullable: true, maxSize:100)
    }

在我点击确定后为两个字段提供字段值后显示以下错误

Data truncation: Data too long for column 'respField' in row 1

2 个答案:

答案 0 :(得分:2)

我认为您输入的值可能超过指定的最大值。 所以如果你需要扩大尺寸,例如你可以这样做

public class empHistory {

String respField
String addInfo

static constraints = {

        respField(nullable: true, maxSize:2000)
        updatedByUser(nullable: true, maxSize:2000)
    }

如果dbcreate状态为更新,请将其更改为createcreate-drop,然后再次尝试运行您的应用。这是因为数据库已经在第一个约束中创建了。

答案 1 :(得分:0)

您需要更改数据库中的列类型。

L是要存储的数据的长度。

TINYBLOB, TINYTEXT :        L + 1 bytes, where L < 28
BLOB, TEXT :                L + 2 bytes, where L < 216
MEDIUMBLOB, MEDIUMTEXT :    L + 3 bytes, where L < 224
LONGBLOB, LONGTEXT :        L + 4 bytes, where L < 232

例如,如果要上传大图片或文件。您应该将默认TINYBLOB数据类型更改为LONGBLOB

如果您使用的是MySQL,可以在此处找到更多信息:Data Type Storage Requirements