簡體   English   中英

錯誤:MySQL中第1行的“ MEDIUMBLOB”列的數據“ imagen”的數據過長

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM