从shell中转义sqlite3的单引号

问题描述 投票:1回答:1

我正在尝试将单引号添加到我的数据库中,但是当我将数据库中的单引号加倍时我不会出现单引号?阅读本文档: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

我没有单引号吗?

shell sqlite escaping single-quotes
1个回答
1
投票

bash不允许单引号之间的单引号;任何单引号都会结束引用的字符串。因此,要在SQL中获得单引号,您必须使用单引号来结束字符串,编写转义引用,然后使用另一个单引号来启动剩余的引用字符串:

sqlite3 dbfile 'INSERT INTO tab VALUES(2, "take'\''that", 2);'
© www.soinside.com 2019 - 2024. All rights reserved.