Consulta de eliminación de Android

Estoy intentando eliminar todas las filas de una tabla que no tienen un ID correspondiente en otra tabla. Puesto que aparentemente SQLite no apoya uniones en elimina que estoy intentando hacer algo a lo largo de estas líneas:

DELETE FROM my_table WHERE my_id NOT IN (SELECT _id FROM my_table2); 

Sin embargo, aparentemente no puedo usar rawQuery ya que devuelve un cursor por lo que tengo que usar la función de eliminación. Estoy teniendo algunos problemas para conseguir este trabajo. Aquí está la consulta que estoy intentando:

  mDb.delete("my_table", "my_id NOT IN ?", new String[]{"(SELECT _id FROM my_table2)"}); 

Gracias.

No debes usar un .rawQuery, como dijiste, pero puedes usar .execSQL () para lograrlo. Yo regularmente lo uso para las supresiones yo mismo.

Creo que la única manera es ejecutar su seleccionar y combinar dinámicamente su cláusula WHERE.

  • Cómo implementar la función recursiva de sqlite3 en dispositivos Android
  • AUTOINCREMENT sólo está permitido en un INTEGER PRIMARY KEY - android
  • Java.lang.StackOverflowError
  • SQLiteException: cerca de "": error de sintaxis (código 1) al compilar
  • No hay tal tabla android_metadata, ¿cuál es el problema?
  • Eliminación de fila en SQLite en Android
  • ¿Por qué fue InsertHelper obsoleta?
  • Almacenamiento de datos en Android: almacenamiento de archivos vs base de datos SQLite vs preferencias compartidas
  • Almacenamiento de datos de Android, Cuándo utilizar SqlLite y cuándo usar JSON, alternativas de Linq
  • Exención de SQLite sobre la reanudación de la actividad de Android
  • Cambiar el nombre de la tabla en sqlite
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.