在db中存储文本:如何选择varchar大小(考虑格式化),单独存储格式?

时间:2012-05-18 11:55:19

标签: php database validation database-design input

如何最好地为(mysql)数据库中的varchar / text / ...列选择一个大小(让我们假设用户可以在文本区域中键入的文本应该是最多500个字符),考虑到用户也是可能会使用格式化(html / bb代码/ ...),这对用户不可见,不应影响最大500个字符文本大小...... ??

理论上,为了防止任何错误,varchar大小必须几乎是无穷无尽的,如果用户例如使用这样的20个链接(http:// [巨大数量的字符])或者其他...... - 或者不是吗?

2)应该/可以在单独的列中保存格式,例如不给索引(如FULLTEXT)错误的值(格式中包含但不包含在真实文本中的单词)?

如果是,请如何做到最好?你还记得在什么时候使用了格式,保存这一点和格式,并在输出时把这些信息放在一起吗?

(php / mysql,java script,jquery)

非常感谢你!

1 个答案:

答案 0 :(得分:0)

一个好的解决方案是考虑格式化字符的数量。

如果不这样做,为避免数据丢失,您需要为数据库中的文本使用更多空间,并在保存或使用全文之前检查先前记录的长度。

在一个表中保留两次相同的数据不是一个好的解决方案,这一切都取决于你的项目,但通常更好的是它在php上的过滤器格式化。