2012-03-26 4 views
0

Я использую rawquery() для выполнения внутреннего соединения, но это не дает мне никакой ошибки и не работает, если я использую этот запрос непосредственно в браузере sqlite, чем это работает, но в приложении этот запрос делает не работает, после мой код, извините за плохой английский связиrawquery() issue

public void deleteFifo() { 
    final String MY_QUERY1 = "Delete from Items where res_id in (select _id from Favourite where _id not in (select _id from Favourite order by date desc limit 50))"; 
    final String MY_QUERY2 = "Delete from Favourite where _id not in (select _id from Favourite order by date desc limit 50)"; 
    db.rawQuery(MY_QUERY1, null); 
    db.rawQuery(MY_QUERY2, null); 
} 
+0

Использование SubQuery или Join Query ... – Hasmukh

+0

заходите в чат-группу sai_group_chat. –

+0

попробовать это, Hop может помочь вам .. [http://stackoverflow.com/questions/2214433/mysql-delete-row-from-multiple-tables][1] [ 1]: http://stackoverflow.com/questions/2214433/mysql-delete-row-from-multiple-tables – Hasmukh

ответ

1

Try:

db.delete(TableName, whereCondition, null); 

т.е. в вашем случае

db.delete("Items", "res_id in (select _id from Favourite where 
_id not in (select _id from Favourite order by date desc limit 50))", null); 

и

db.delete("Favourite ","_id not in (select _id from Favourite 
order by date desc limit 50)"); 

Надеюсь, это поможет!