sqlite查询问题,由字母大小写敏感引起
2024-08-30 04:57:38
目前做的项目之前是用mysql,这是个错误的选择,因为本身并不是服务器-客户端模式的项目,而是一个CS架构项目,mysql这种需要较繁复配置的数据库并不合适。需要的应该是sqlite这类,内嵌的数据库。
所以最近统一做数据库替换工作,将之前mysql数据库操作的所有接口统一改成sqlite数据库操作的接口。
按道理讲sql语句都是一样的,只要改下调用的数据库C++接口就可以了。
然后就出现一个问题,一个表的查询一直是错的。
经过调试和实验发现,查询语句中用户ID都是大写字母,实际数据库中含有小写字母。
查询为空因为这串user_id 'F56DC7AD-2AAB-499C-A1A5-0EFC154E15E2' 都是大写字母。
实际上:
user_id为:F56DC7AD-2AAB-499c-A1A5-0EFC154E15E2,含有小写字母
为什么之前在mysql中没有这样的问题呢?
因为在mysql中查询对字母大小写不敏感:
可以看出,即使f这个字母大小写不一致,还是成功查到了
最后我解决这个问题方法就是,让原本大小写敏感的sqlite变成大小写不敏感,这样就与之前的mysql保持一致。
建表时:
CREATE TABLE if not exists user_cert (user_id char(128) NOT NULL COLLATE NOCASE,cert_id char(128) NOT NULL,id integer primary key autoincrement);
特表规定 COLLATE NOCASE就可以了。
最新文章
- systemd
- Python的平凡之路(7)
- java攻城狮之路(Android篇)--widget_webview_metadata_popupwindow_tabhost_分页加载数据_菜单
- CodeForces - 417A(思维题)
- 【转】JDBC为什么要使用PreparedStatement而不是Statement
- 修改VS解决方案及工程名,解决如何打开高/版本VS项目
- Handler发送Message
- php单例模式深入讲解
- uilabel 复制
- Android开发:组播(多播)与广播
- 深入了解GCD
- Scala关于软件的安装
- mysql一些使用技巧
- synchronized的四种作用域以及不能被继承解析
- calico客户端工具calicoctl
- Alibaba Cluster Data 开放下载:270GB 数据揭秘你不知道的阿里巴巴数据中心
- win 10 Hbuilder1.2.1连接Genymotion 调试Android 软件
- NSL:CPK_NN神经网络实现预测哪个样本与哪个样本处在同一层,从而科学规避我国煤矿突水灾难—Jason niu
- cf 443
- <;转载>; FreeNAS的安装和简单配置 http://freenas.cn/?p=342
热门文章
- SQL中where语句不能使用直接跟在select后列的别名
- iOS 第三方库(1)
- TensorFlow 学习(十一)—— 正则(regularizer)
- Lua转让C功能
- 【64.52%】【codeforces 697D】Puzzles
- Mechanism for self refresh during C0
- Massive Collection Of Design Patterns, Frameworks, Components, And Language Features For Delphi
- 重构qDebug()<;<;,使log输出到文件
- cacti由snmp监控带宽
- Hopfield 神经网络及稳态性的证明