Data truncation: Data too long for column 'content' at row 1


項目運行報錯:

  Data truncation: Data too long for column 'content' at row 1

是由於字段長度太小導致的

搜索mysql 中text 字段長度類型

分為TINYTEXT, TEXT, MEDIUMTEXT,LONGTEXT, 都是表示數據長度類型的一種。
TINYTEXT: 256 bytes
TEXT: 65,535 bytes => ~64kb
MEDIUMTEXT: 16,777,215 bytes => ~16MB
LONGTEXT: 4,294,967,295 bytes => ~4GB

 

JPA在生成表的時候,可以在字段的get 方法上添加@Column 的columnDefinition 屬性 來設置字段的類型。原來設置的是TEXT

@Lob
@Column(columnDefinition = "TEXT")
public String getContent() {
  return content;
}

 

改成 MEDIUMTEXT 就沒有問題了
@Column(columnDefinition = "MEDIUMTEXT")

 

這樣擔心會不會對數據庫性能有太大影響

又搜索到:text類型都是變長類型,不是固定長度的,因此只需要使用text就可以了,text、mediumtext只是個上限,並不會節約存儲空間,也不會提高查詢速度。

數據不會太多,可以放心使用了,特此記錄。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM