我正在为我的网站创建一个定制的内容管理系统,我将把文章(每篇文章包括文本和图像)存储在mysql数据库中。哪种数据类型最适合这个任务?
不应该将文本和图像存储在同一个字段中, 在这种情况下,最好根本不要在数据库中存储图像。
最佳解决方案是在文章中使用某种标记系统。最简单的方法是使用 HTML 的筛选子集,以纯文本形式存储在数据库中,然后在浏览器中以某种方式解析它。显然,如果使用筛选的 HTML,则不需要编写任何特殊的代码来解析它,但采用这种方法可能会引起安全问题。
其他可研究的选项包括 Markdown(本网站使用的系统)以及 BBCode(主要用于在线论坛)等等。
总之,不要将图像和文本存储在一个字段中。存储文本,并解释该文本以根据需要加载文章中的图像和其他媒体。
将图像保存为VARCHAR,但仅保存图像名称(和/或位置,取决于您的CMS大小),将文本保存为TEXT
。
将图像和文本分开存储。假设您正在尝试将二进制图像存储在数据库中,我建议将图像存储为BLOB数据类型,将文本存储为TEXT。
不要使用VARCHAR存储文章文本,因为它无法动态扩展到超过您设置的大小。
VARCHAR是存储文本文章的最佳选择,图像数据类型将在未来消失。
对于图像,您可以将它们存储在类似于用于CSS / JS的文件夹中,并将其src值存储在数据库中。这在速度和存储方面都非常高效。
TEXT
是这个最好的数据类型。 - BMN