大多数数据库
都是案例和案例的字符串比较不区分大小写的。然而,当SQLite最近被使用,它被认为是在相反的方向。
假定表
用户的结构和值如下所示:
用户名 一
user1
执行以下SQL语句:
复制代码代码如下所示:
SELECT * FROM { }在用户用户名为'user1
结果是,没有记录已被
发现。显然,SQLite是案例和案例中的字符串比较敏感,这会对
应用程序的
影响。例如,当用户
输入用户名称,必须严格根据输入的
情况下。这是一个非常糟糕的用户体验。用户表中可能存在两个用户和用户的用户,这很容易造成混乱。
因为SQLite数据库,近几年一直在上升,中国的数据非常少。Ogle有一些英文资料,终于找到了三个
解决方案:
方案一:使用案例和案例
转换功能较低,上
复制代码代码如下所示:
SELECT * FROM { },降低用户(用户名)= 'user1
方案二:比较时强制声明不区分大小写
复制代码代码如下所示:
SELECT * FROM { }在用户用户名= 'user1'collate缺
方案三:当
创建表时,声明该字段不区分大小写。
复制代码代码如下所示:
用户创建表{ }({用户名} nvarchar(20)整理例);
如果您不需要对任何情况敏感,那么计划三是最好的解决方案;如果只有少量的
查询对情况不敏感,您可以使用程序二。