shell - 从Shell转义sqlite3的单引号

标签 shell sqlite escaping single-quotes

我试图在数据库中添加单引号,但是当我在数据库中加倍单引号时,我没有出现单引号吗?阅读本文档:
How to properly escape a single quote for a SQLite database?

我无法成功添加单引号。我是通过SSH登录的,所以我不确定这是否是原因吗?也许还有其他事情要做?

我的插入命令:

sqlite3 /db.sql 'insert into `custqueue` values ("2", "take''that", "2")';


我的选择(读取)响应:

2|takethat|2


我在takethat中没有单引号吗?

最佳答案

bash不允许在单引号之间使用单引号;任何单引号都将引号引起来的字符串结束。因此,要在SQL中使用单引号,必须使用单引号结束字符串,编写转义的引号,然后使用另一个单引号开始其余的带引号的字符串:

sqlite3 dbfile 'INSERT INTO tab VALUES(2, "take'\''that", 2);'

关于shell - 从Shell转义sqlite3的单引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47922099/

相关文章:

android - 在 android 2.3.3 中创建表 android_metadata 失败

python - 在css选择器beautifulsoup python中转义 "["

c - 我们可以使用 c 在 linux 中创建一个进程有多少种方法

java - 执行 linux sh 文件时出现 ArrayIndexOutOfBounds 异常

python - 如何获取有关我的 OperationalError 是什么的更多信息

sqlite:添加新列后如何用值填充新列?

php - 如何从数据库中检索 "escaped"字符串?

c++ - 如何在 C++ 中禁用转义序列

linux - 使用 txt 文件在 shell 脚本中添加用户

linux - 如何获取后台进程的进程ID?