java - 如何根据条件从数据库中删除数据?

标签 java android sqlite

我正在开发消息传递 android 应用程序,所有数据都保存在 sqlite 数据库中。有 3 个 Activity ,但是这三个 Activity 的消息保存在一个表 my_chat 中。现在我想删除特定项目聊天和模块的数据。

示例 - 我想删除类型为 first_module 的第一个项目的数据,但表中最后插入的数据类型为 third_module。

这是我的问题

"DELETE FROM my_chat WHERE project_id ='" + project_id + "' AND module_text ='" + module_type + "' AND id in (select id from my_chat order by id desc limit 2)"

第一次它运行完美,但是当我们添加任何其他模块的数据时,此查询不会删除特定模块的最后两条消息。

最佳答案

在内部 SELECT 中使用 WHERE 子句。

"DELETE FROM my_chat WHERE project_id ='" + project_id + "' AND module_text ='" + module_type + "' AND id in (select id from my_chat WHERE module_text ='" + module_type + "' order by id desc limit 2)"

关于java - 如何根据条件从数据库中删除数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39072361/

相关文章:

android - 在带有 chaquopy 的 Android 应用程序中运行 python 会产生 fatal error

c# - 如何获取给定表的索引列列表

C++智能指针混淆

java - 有没有办法为方法概述静态变量?

android - 如何在 Bundle 中发送 RealmObject?

java - 实体映射中的重复列,oneToMany 关系

android - 无法在 chrome 开发工具资源中调整列的大小

ruby-on-rails - 如何确保sqlite不缓存特定的选择查询?

java - 在 spring 中创建同名的替换休息 Controller 会导致 bean 名称冲突?

java - 如何让三个数组相互关联