如何为 SQLite 插入语句转义双引号 - Angular

分享于2022年07月17日 angular sqlite typescript 问答
【问题标题】:如何为 SQLite 插入语句转义双引号 - Angular(How to escape double quotes for a SQLite insert statement - Angular)
【发布时间】:2022-01-25 05:03:30
【问题描述】:

我的 Angular 应用程序中有以下插入语句可以插入到本地 SQLite 数据库中。

INSERT INTO testtable (ID, userID, goTime, backTime, imageFileNames) VALUES (8,1,"00:00:00","00:00:00","{\"images\":[\"U9P0v8302e5fnrHd3D0lk04CDDONdYEF1p1cDDICLpQMZDTZXgcCigeNEZZHdA0rvcfhrIouMixH6XUKOOCe64Hcrmkf5QZuc9YY.jpg\"]}");

插入语句的图像部分出现语法错误。我知道这是因为内部的双引号,并且在内部双引号中添加额外的 " 将起作用。

我的问题是:有没有一种功能或方法可以在需要的地方轻松添加这些额外的双引号,以便语句再次有效?


【解决方案1】:

也许您可以将 backtips (`) 与 单引号 (') 和 双引号 (") 混合使用:

INSERT INTO testtable (ID, userID, goTime, backTime, imageFileNames) 
VALUES (
   8,
   1,
   "00:00:00",
   "00:00:00",
   `{"images:['U9P0v8302e5fnrHd3D0lk04CDDONdYEF1p1cDDICLpQMZDTZXgcCigeNEZZHdA0rvcfhrIouMixH6XUKOOCe64Hcrmkf5QZuc9YY.jpg']}"`
);

如果不行,试试这个方法:

  "{`images:['U9P0v8302e5fnrHd3D0lk04CDDONdYEF1p1cDDICLpQMZDTZXgcCigeNEZZHdA0rvcfhrIouMixH6XUKOOCe64Hcrmkf5QZuc9YY.jpg']}`"