Qt QSQlite数据库插入字符串中存在单个双引号或单个单引号解决方案

1. 前言

当进行数据库写入或更新时,有时会遇到存在字符串中包含单个双引号或者单引号。

2. 单引号''和双引号""作用

在数据库中,字符串常量时需要用一对英文单引号''或英文双引号""将字符串常量括起来。

比如:

cpp 复制代码
select * from xxx where info = `hello world`;

cpp 复制代码
select * from xxx where info = "ni hao";

一般是使用单引号,如果是数值,则不加单引号或双引号。

但如果字符串中包含单引号,除了使用转义外,还可以用一对双引号来包括字符串,这样字符串内的单引号被视作普通字符,无需特殊处理。

如:

cpp 复制代码
"hello'world"

存入到数据库中,就是:hello'world

反之,如果字符串中包含双引号,可以用一对单引号来包括字符串。

如:

cpp 复制代码
'hello"world'

存入到数据库中,就是:hello"world

3. 如果字段为关键字

当出现SQL语句中,包含的字段为关键字时,如下:

cpp 复制代码
select select from xxx;

会报错,这时,需要用````````符号将字段给括起来,如下:

cpp 复制代码
select `select` from xxx;

4. 字符串中,既包含双引号又包含单引号

当字符串常量中,既包含双引号,同时又包含单引号,可将单个单引号改为成对的单引号,如下:

5. 结论

玄之又玄,众妙之门

相关推荐
@insist1235 小时前
信息安全工程师-数据库安全全体系解析与最佳实践
数据库·安全·软考·信息安全工程师·软件水平考试
小短腿的代码世界5 小时前
从.qrc到rcc编译器:Qt资源系统的隐秘运作机制与大型项目性能突围
开发语言·qt
_ku_ku_6 小时前
数据库系统原理 · 事务管理与恢复 · 自学总结
数据库·oracle
lifewange8 小时前
Redis 集合(Set)运算完全指南
数据库·chrome·redis
TDengine (老段)8 小时前
TDengine RAFT共识协议 — 选举、日志复制、快照与仲裁
android·大数据·数据库·物联网·架构·时序数据库·tdengine
Full Stack Developme9 小时前
Spring Boot 事务管理完整教程
java·数据库·spring boot
我在人间贩卖青春9 小时前
重学Qt——Qt常用界面组件
qt
m0_7020365310 小时前
mysql如何通过索引减少行锁范围_mysql索引与加锁逻辑
jvm·数据库·python
qxwlcsdn10 小时前
如何用 IndexedDB 存储从 API 获取的超大列表并实现二级索引
jvm·数据库·python
phltxy11 小时前
Redis 主从复制
java·数据库·redis