sqlite中插入单引号

sqlite中插入单引号,第1张

概述通常我们在数据库中插入数据时,为了防止数据中的特殊字符导致SQL语法错误,会在插入的内容前后加上单引号。 例如我们有如下数据表: CREATE TABLE `xs_sessions` ( `session_uuid` VARCHAR(36) NOT NULL, `teacher_uuid` VARCHAR(36) NOT NULL, `name` VARCHAR(128) NOT NULL,

通常我们在数据库中插入数据时,为了防止数据中的特殊字符导致sql语法错误,会在插入的内容前后加上单引号。

例如我们有如下数据表:

CREATE table `xs_sessions` ( `session_uuID` VARCHAR(36) NOT NulL,`teacher_uuID` VARCHAR(36) NOT NulL,`name` VARCHAR(128) NOT NulL,`icon_path_name` VARCHAR(255),`create_date_time` DATETIME NOT NulL,`modify_date_time` DATETIME NOT NulL,PRIMARY KEY (`session_uuID`),FOREIGN KEY (`teacher_uuID`) REFERENCES `xs_user` (`user_uuID`));

现在往其中插入一条数据,考虑到字段中有空格,我们会在所有value的前后都加上单引号,例如:
insert into xs_sessions values('S-01','T-01','primary english','icon_path_name','create_date_time','modify_date_time');

这样可以避免value中包含反斜杠,逗号,句号,分号等各种符号的影响,但是如果value中包含单引号则会导致语法错误。

解决办法为将单引号都改为两个单引号即可,例如上例中如果name为mary's english,那么插入语句为:

insert into xs_sessions values('S-02','mary''s english','modify_date_time');

查询结果为:
S-02|T-01|mary's english|icon_path_name|create_date_time|modify_date_time

表示我们的插入是正确的。

官方的描述:How do I use a string literal that contains an embedded single-quote (') character?



update:

在androID开发中,如果使用ContentValues来insert/update数据,则androID会自动处理单引号的情况,只有在开发者手动写SQL语句时才需要采取上述做法。

总结

以上是内存溢出为你收集整理的sqlite中插入单引号全部内容,希望文章能够帮你解决sqlite中插入单引号所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1173000.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-02
下一篇 2022-06-02

发表评论

登录后才能评论

评论列表(0条)

保存