2016-08-22 3 views
1

私はメッセージングアンドロイドアプリに取り組んでいます。すべてのデータはsqliteデータベースに保存されています。 3つのアクティビティがありますが、その3つのアクティビティのメッセージが1つのテーブルmy_chatに保存されます。今私は特定のプロジェクト&モジュールのチャットのデータを削除したいと思います。条件付きのデータベースからデータを削除する方法は?

例 - タイプがfirst_moduleであるが、テーブルに最後に挿入されたデータがタイプthird_moduleである最初のプロジェクトのデータを削除します。ここで

は私のクエリは、それが完璧に動作しますが、我々は他のモジュールのデータを追加するとき、このクエリは、特定のモジュールの最後の2つのメッセージを削除しないでください

"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)" 

初めてです。

+0

私はすでに限界にそれが動作する2つの – sJy

+0

そのmodule_text =「『+ module_type +』」だから、内側のSELECTクエリ内のWHERE句を使用する必要があります:) –

答えて

3

利用内側のSELECT内の句を削除してください。

"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)" 
+0

感謝を使用しています –

0

order by id desc limit 2

DELETE FROM my_chat WHERE project_id ='" + project_id + "' AND module_text ='" + module_type + "' AND id in (select id from my_chat order) 
関連する問題