2010-03-31 40 views

回答

8

这真的没关系 - MySQL is case insensitive除非你指定如此Andy,andy和AnDy都会匹配。

需要说明的是整理 - 但是:

默认字符集和校对 是LATIN1和 latin1_swedish_ci,所以非二进制字符串 比较是情况下,由 默认情况下不区分大小写。

当心,如果您使用的latin1_general_cs看台cs大小写敏感的,并且所有的疑问将是区分大小写的!这里有更多关于charsets and collation的信息。

0

没有问题的情况下可能会导致查询任何冲突。

1

如果使用小写的用户名可以避免在某些查询中发生冲突(如您所述),那么您可能遇到了一些更大的问题。

您应该清理所有数据库输入,但小写用户名应该没有必要。

+0

我现在没有冲突,但我只想确认之前我建立了整个应用程序:) – Ryan 2010-03-31 20:34:24

1

我会建议以用户输入它的方式存储它,特别是如果你在某处显示它。
但是,当用户注册一个新的用户名,并且你不想允许这样的重复,然后在保存之前检查没有区分大小写。

0

不,您可以让用户感到失望,如果您以任何方式更改其用户名。您可以更改数据库中列的排序规则,以便不区分大小写。

0

您应该按照用户输入的方式进行存储。

您必须提供的是不区分大小写的身份验证,比较低(user.input)和低(database.data)时。

相关问题