我应该在存储到数据库之前修剪字符串吗?

时间:2009-06-18 14:53:29

标签: database

我遇到的情况是这样的。当存储实体的代码(在数据库中必须是唯一的)时,某人可以在技术上将“12345”和“12345”作为代码并且数据库会认为它们是唯一的,但对于最终用户来说,显示空间使其成为可能。看起来它们是重复的并且可能引起混淆。

在这种情况下,我肯定会在存储前修剪。

这应该成为所有字符串的标准吗?

3 个答案:

答案 0 :(得分:7)

我认为除非空间对数据很重要,否则你应该删除它。

答案 1 :(得分:6)

这是其答案是“依赖于”的问题之一。

你需要记住的是最不惊讶的原则。用户会非常惊讶地看到两个看起来相同的代码,特别是当您在表单或表格中显示它时,最后的空间基本上消失了。用户还希望这些代码是唯一的,他们可能希望您的系统强制执行此操作。对于用户而言,空间并不是他们期望产生差异的真正原因。

在某些其他情况下,例如在内容管理系统或文字处理器中,当用户有意识地放入空格时,他希望底层数据存储能够保留其空间。在这种情况下,用户可能放入空间来对齐内容或用于视觉目的。在这种情况下,最后删除空格会让用户感到惊讶。

因此,请务必尽可能为用户的工作流程建模。

答案 2 :(得分:0)

如果你使用varchar,那么在不允许前导空格的表上设置一个约束,记住GIGO? 如果代码是数字,则使用数值数据类型