【发布时间】:2011-12-22 02:40:04
【问题描述】:
我正在使用 MySQL 数据库,我需要以 HTML 格式存储富文本和图像。由于组织方便,我需要将图像存储在 Blob 中,我想知道是否可以将由文本和多个图像组成的小文档存储在单个 Blob 中。
【问题讨论】:
我正在使用 MySQL 数据库,我需要以 HTML 格式存储富文本和图像。由于组织方便,我需要将图像存储在 Blob 中,我想知道是否可以将由文本和多个图像组成的小文档存储在单个 Blob 中。
【问题讨论】:
如果你有一些方法可以表示文件之间的中断在哪里,是的。您只需查找除数的位置并在 blob 字段上执行子字符串即可获取相关的数据块。
但这是一个非常糟糕的设计 - DB 字段应该只包含一个 SINGLE 值,即使它是一个二进制 blob。如果您需要存储多个文件,则使用子表并将每个文件存储在自己的子记录中。
考虑一下从记录中间“删除”其中一个文件是多么痛苦。对于子表,删除记录很简单。使用多合一字段,您必须使用多个子字符串提取进行更新:
UPDATE table SET blobfield=CONCAT(SUBSTR(blobfield, x, y), SUBSTR(blobfield, p, q))
【讨论】: