[英]Error: Data too long for column 'imagen' at row 1 with column 'MEDIUMBLOB' in MySQL
我正在MySQL數據庫中存儲從1MB到最大7mb的圖像。 為此,我創建了一個字段為MEDIUMBLOB類型的表,該表的容量為16777215 字節 ,即16mb。 當我保存不超過2.2MB的圖像時,它可以完美存儲,但是當保存較大但不超過7mb的圖像時,出現以下錯誤:
com.mysql.jdbc.MysqlDataTruncation: Data truncation:
Data too long for column 'imagen' at row 1
這是我的實體圖像中圖像字段的定義:
@Entity
@Access(AccessType.FIELD)
@Table(name = "Imagen")
@XmlRootElement
public class Imagen implements Serializable {
// otros campos
@Lob
@Column(name = "imagen", columnDefinition = "mediumblob")
private byte[] imagen;
// getters and setters
}
我的存儲庫類:
public interface ImagenRepository extends BaseRepository<Imagen, Integer> {
// other query operations
}
基類存儲庫:
@NoRepositoryBean
public interface BaseRepository<T, ID extends Serializable> extends Repository<T, ID>, Finder<T>, Counter {
public T save(T save);
public void delete(ID id);
public void delete(T entity);
public Optional<T> findOne(ID id);
}
圖片表:
CREATE TABLE Imagen (
id INT(10) NOT NULL AUTO_INCREMENT,
-- Otros campos
imagen MEDIUMBLOB,
type VARCHAR(10) COLLATE UTF8_SPANISH_CI,
PRIMARY KEY (id)
);
對於查詢操作和持久性,請使用spring-data-jpa。
我不明白為什么不保存超過2.2MB的圖像,請幫助
您可能需要在my.cnf中增加innodb_log_file_size
的服務器設置。 然后重啟MySQL。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.