我有一个网页,用户可以上传包含图片的文章。用户可以使用其文章上传的图像数量没有限制。 MySQL数据库中的每一行代表一篇文章。存储所有这些图像的最佳方法是什么。我知道我会使用BLOBS / LONGBLOBS但是如果我无法控制用户上传的图像数量,我就不能为不同的图像插入50列,希望它们上传少于50个。最好的方法是什么此
答案 0 :(得分:2)
执行此操作的最佳方法是创建一个包含引用该文章的图像的表,以便为您提供如下数据库:
Images
的表格创建脚本如下:
CREATE TABLE `Images` (
`ImageID` bigint NOT NULL AUTO_INCREMENT,
`ArticleID` bigint NOT NULL,
`Image` longblob NOT NULL,
PRIMARY KEY (`ImageID`)
);
ALTER TABLE `Images` ADD CONSTRAINT `FK_Images` FOREIGN KEY (`ArticleID`) REFERENCES `Articles`(`ArticleID`);
现在,您所要做的就是将图片与其所属的Images
一起插入ArticleID
。