从 shell 转义 sqlite3 的单引号
Escaping single quotes for sqlite3 from the shell
我正在尝试将单引号添加到我的数据库中,但是当我将数据库中的单引号加倍时,我没有看到单引号?阅读这份文件:
How to properly escape a single quote for a SQLite database?
我未能成功添加单引号。我是通过 SSH 登录的,所以我不确定这是否是原因?也许还有其他事情可以完成?
我的插入命令:
sqlite3 /db.sql 'insert into `custqueue` values ("2", "take''that", "2")';
我的 select(已读)回复:
2|takethat|2
我在 takethat 中没有单引号?
bash
不允许单引号之间有单引号;任何单引号结束引用的字符串。所以要想把单引号变成SQL,就得用一个单引号来结束字符串,写一个转义引号,然后用另一个单引号开始剩余的引号字符串:
sqlite3 dbfile 'INSERT INTO tab VALUES(2, "take'\''that", 2);'
我正在尝试将单引号添加到我的数据库中,但是当我将数据库中的单引号加倍时,我没有看到单引号?阅读这份文件: How to properly escape a single quote for a SQLite database?
我未能成功添加单引号。我是通过 SSH 登录的,所以我不确定这是否是原因?也许还有其他事情可以完成?
我的插入命令:
sqlite3 /db.sql 'insert into `custqueue` values ("2", "take''that", "2")';
我的 select(已读)回复:
2|takethat|2
我在 takethat 中没有单引号?
bash
不允许单引号之间有单引号;任何单引号结束引用的字符串。所以要想把单引号变成SQL,就得用一个单引号来结束字符串,写一个转义引号,然后用另一个单引号开始剩余的引号字符串:
sqlite3 dbfile 'INSERT INTO tab VALUES(2, "take'\''that", 2);'