如何在Drizzle ORM(MySQL)中创建存储未知大小PDF的BLOB列?
在Drizzle中创建BLOB列存储PDF文件
针对MySQL数据库,你不需要局限于BINARY或VARBINARY——Drizzle直接支持MySQL原生的BLOB系列类型,这些类型不需要指定固定长度,完全适配大小未知的PDF存储需求:
- 使用
blob():对应MySQL的BLOB类型,最大可存储64KB数据,适合小型PDF - 使用
longblob():对应MySQL的LONGBLOB类型,最大可存储4GB数据,能覆盖绝大多数PDF文件的大小需求
代码示例
import { mysqlTable, longblob, int } from 'drizzle-orm/mysql-core'; const pdfDocuments = mysqlTable('pdf_documents', { id: int('id').primaryKey().autoincrement(), // 用longblob存储任意大小的PDF(上限4GB) pdfData: longblob('pdf_data'), });
补充说明
MySQL的BLOB系列类型(TINYBLOB、BLOB、MEDIUMBLOB、LONGBLOB)本身就是为存储可变长度的二进制数据设计的,Drizzle对这些类型做了原生封装,直接调用对应的方法即可创建无需指定长度的二进制列,完美解决你担心的文件大小超限问题。
内容的提问来源于stack exchange,提问作者user3357926
相关产品推荐
相关产品推荐

