SQL数据截断错误:SQL警告代码:1406。数据截断:对于列内容的数据太长了在第1行

时间:2016-06-06 10:43:39

标签: mysql sql spring hibernate spring-data-jpa

我正在使用Spring Data JPA存储库服务,我编写了一个自定义查询,将数据插入表中。

我的表结构: -

desc Person;

+------------------------+--------------+------+-----+---------+--------------+
| Field                  | Type         | Null | Key | Default | Extra          |
+------------------------+--------------+------+-----+---------+----------------+
| id                     | int(11)      | NO   | PRI | NULL    | auto_increment |
| status                 | varchar(20)  | YES  |     | NULL    |                |
| message                | varchar(50)  | YES  |     | NULL    |                |
| contents               | LONGTEXT     | YES  |     | NULL    |                |     
+------------------------+--------------+------+-----+---------+----------------+

我的查询是这样的:

UPDATE Person ps
    set ps.status ='FAILED',
        ps.message='ok'
    where ps.id = 6;

我甚至没有尝试更新名为"内容"的列。但是我仍然在为列"内容"柱。我在这里做错了什么?

我检查了max_allowed数据包大小(1GB)和列数据类型(longtext)。

修改: 我的代码是这样的: -

public interface PersonRepository extends CrudRepository<Person, Integer> {

@Modifying(clearAutomatically = true)
@Transactional(readOnly=false)
@Query(UPDATE Person ps set ps.status =:STATUS,ps.message=:MESSAGE where ps.id =:ID)
int updatePersonForId(@Param("STATUS") String status,@Param("MESSAGE") String message,@Param("ID") int id);
}

0 个答案:

没有答案