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. 结论

玄之又玄,众妙之门

相关推荐
minji...23 分钟前
MySQL数据库 (十九) MySQL图像化界面,MySQL连接池
数据库·mysql·navicat·mysql workbench·mysql连接池·数据库图形化界面
想躺平的小羊37 分钟前
MySQL中LAST_DAY函数用法
数据库·mysql
光影6271 小时前
MySQL基础入门
数据库·笔记·sql·学习·mysql·学习方法
qetfw2 小时前
CentOS 7 搭建 MariaDB 数据库服务
linux·数据库·centos·mariadb
光影6272 小时前
MySQL 进阶篇 —— 事务 / 外键 / 索引 / 高级查询
数据库·笔记·sql·学习·mysql
爬也要爬着前进2 小时前
redis哨兵模式搭建
数据库·redis·bootstrap
小月土星2 小时前
(实战篇)RAG-demo 深度解析:162行代码中的检索增强生成全景 (含Top-k法)
javascript·数据库·llm
sycmancia3 小时前
Qt——另一种创建线程的方式
开发语言·qt
10岁的博客4 小时前
DevEco Code 的 Plan+Build 模式:审方案再执行的技术深度解析
大数据·数据库·人工智能
buhuizhiyuci4 小时前
【算法篇】位运算 —— 基础篇
java·数据库·算法