为了账号安全,请及时绑定邮箱和手机立即绑定

sqlite where子句“ AND”和“ IN”

sqlite where子句“ AND”和“ IN”

杨魅力 2021-03-31 17:14:46
目标:我正在尝试在sqlite表中进行批量删除,而不是使用for循环删除每个数据。因此,我正在尝试使用"IN"。案例:我在执行查询时有两个参数。第一是type,第二是order_id。我想删除typeis"order_book"和order_idare中的数据["B001", "B002", ...]。我已经尝试但无法正常工作的内容:window.sqlitePlugin.openDatabase({ name: 'dbname.db', location: 'default' }).executeSql("DELETE FROM table_name WHERE type='order_book' AND order_id IN ('B001', 'B002')", [], (res) => { console.log(res.rows); });// => this is not work我尝试过的工作原理,但是它缺少type参数:window.sqlitePlugin.openDatabase({ name: 'dbname.db', location: 'default' }).executeSql("DELETE FROM table_name WHERE order_id IN ('B001', 'B002')", [], (res) => { console.log(res.rows); });// => data with order_id B001 and B002 deleted那么,这怎么了?我还需要定义什么是type因为不同type可能具有相同的含义order_id(不要问为什么会这样...)
查看完整描述

1 回答

?
慕工程0101907

TA贡献1887条经验 获得超5个赞

如果数据以大写或大写混合存储在type列中,则SQLite的区分大小写的比较将找不到它。您可以对照存储的数据进行检查,或比较如下所示的字符串:

WHERE type='order_book' COLLATE NOCASE ...


查看完整回答
反对 回复 2021-04-08
  • 1 回答
  • 0 关注
  • 699 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信