Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

BLOb:không thể đọc tất cả dữ liệu, nhưng ít kb

Chương trình của bạn là chính xác. Nếu kích thước tệp nhỏ thì nó sẽ hoạt động tốt. Nếu bạn đang sử dụng BLOB kiểu dữ liệu để lưu trữ dữ liệu nhị phân đó, hãy thay đổi nó thành LONGBLOB . Bởi vì nếu bạn đã cố gắng lưu một tệp trong BLOB trường dữ liệu và nếu kích thước tệp lớn hơn kích thước tối đa cho phép của kiểu dữ liệu BLOB thì nội dung sẽ bị cắt bớt và bạn sẽ mất một số nội dung của tệp (tùy thuộc vào kích thước tệp). Ngay cả khi bạn sử dụng LONGBLOB datatype có một số thứ bạn phải kiểm tra. Tôi sẽ giải thích

Trong trang web mysql, chúng ta có thể thấy kích thước tệp tối đa là LONGBLOB là 4GB. Nhưng nó phụ thuộc vào nhiều thứ. Để lưu trữ tệp lớn, bạn phải kiểm tra một số điều. Điều đầu tiên là trong my.ini tệp, có một thuộc tính được gọi là max_allowed_packet , nó chỉ định gói lớn nhất có thể được truyền đến hoặc từ máy khách hoặc máy chủ mysql. Bạn nên đặt max_allowed_packet tài sản có giá trị cao hơn. Và khởi động lại mysql. Một số hệ thống tệp sẽ không cho phép tệp 4GB. Trong trường hợp đó, bạn không thể tải nhiều tệp lớn như vậy.

Tôi nghĩ trong trường hợp của bạn cài đặt max_allowed_packet thuộc tính có giá trị cao hơn sẽ khắc phục được sự cố.

Tôi nghĩ bạn có thể sử dụng tập lệnh tạo bảng sau

CREATE TABLE `image` (
    `id` INT(10) NULL DEFAULT NULL,
    `fs` LONGBLOB NULL,
    `filen` VARCHAR(50) NULL DEFAULT NULL
)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Xác định Xếp hạng dựa trên Nhiều Cột trong MySQL

  2. Không thể tìm nạp dữ liệu từ cơ sở dữ liệu vào thẻ tập lệnh trong khi sử dụng biểu đồ

  3. Thông số 'param_name' không được tìm thấy trong bộ sưu tập

  4. Java - Làm cách nào để chuyển đổi dữ liệu từ cơ sở dữ liệu mysql sang Mảng JSON?

  5. Tự động điền quốc gia và thành phố từ mã zip và tùy chọn