2009-06-18 47 views
1

我遇到的情况是这样的。当存储实体的代码(在数据库中必须是唯一的)时,有人可以在技术上将“12345”和“12345”作为代码,并且数据库会认为它们是唯一的,但是对于最终用户来说,显示该空间使得它看起来他们是重复的,并可能导致混淆。我应该在存储到数据库之前修剪字符串吗?

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

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

+0

正如其他人指出的,我的解决方案(使用varchar vs char数据类型)不适用于所有情况,所以我删除了答案。 – NotMe 2009-06-18 15:16:27

回答

6

这是其中一个问题的答案是“这取决于”。

这里需要注意的是最小惊讶的原因。用户会非常惊讶地看到两个看起来相同的代码,尤其是当您将它们显示在表单或表格中时,最后的空间基本消失。用户也希望这些代码是唯一的,他们可能期望你的系统执行此操作。对于用户来说,空间并不是他们期望导致差异的东西。

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

因此,请始终尽可能地模拟用户的工作流程。

0

如果您使用varchar,记住GIGO,那么在表上禁止使用前导空格约束? 如果代码是数字,那么使用数字数据类型

7

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

相关问题