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.

  • Búsqueda SQLite FTS4 con caracteres especiales
  • ¿Cuándo cerrar la conexión db en android? Cada vez que finaliza tu operación o después de salir de la aplicación
  • ¿Cómo puedo devolver un registro basado sólo en una coincidencia parcial de ese registro?
  • Mantenga el elemento de lista highlite con SimpleCursorAdapter
  • SQLite rawQuery campos de selecciónArgs y enteros
  • No hay tal tabla android_metadata, ¿cuál es el problema?
  • ¿Cómo puedo almacenar un arraylist de objetos personalizados?
  • Net.sqlcipher.database.SQLiteException: no es un error:
  • Android.database.sqlite.SQLiteException: la tabla X no tiene columna llamada Y:, mientras compila: INSERT INTO
  • Cómo reemplazar CursorAdapter bindView
  • Sincronizar / actualizar bases de datos sqlite
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.