PDA

Ver la Versión Completa : SQLite eliminar en cascada


FrancisPM
15/10/13, 14:07:36
Hola a todos,

Tengo tres tablas, y quiero que si elimino registros de las tablas 1 o 2, se eliminen en cascada los de la tabla 3. ¿Por que no me realiza esta accion correctamente? ¿Se puede hacer esto en Android o hay alguna restriccion?.

Gracias. Un saludo.

FrancisPM
16/10/13, 17:46:33
¿Alguien me puede ayuda por favor?.

¿Se puede hacer de alguna forma utilizando "on delete cascade" o debo hacer un método con una consulta para eliminar los registros que contengan el id o ids eliminados en la otra tabla?.

Gracias. Un saludo.

Arasthel
17/10/13, 10:12:17
Si tu problema es que tienes FKs referenciadas y no te borra los registros de estas al borrar el que le pides, es posible que este sea tu problema (http://stackoverflow.com/questions/13641250/sqlite-delete-cascade-not-working).

Según parece SQLite no tiene las FKs activadas por defecto cuando inicias la conexión, tienes que pedirle tú que lo haga.

Un saludo.

FrancisPM
17/10/13, 14:05:16
Si que tengo eso puesto ya para activarlas, lo tengo puesto justo antes de cuando crean las tablas, ¿o debo ponerlo en la conexión para que lo haga cada vez que conecte con la bd?.

Gracias por responder. Un saludo.

kriogeN
17/10/13, 15:35:45
Cada vez que conectas a la BD. La creación de las tablas sólo lo hace la primera vez que inicias la conexión después de la instalación (o después de haber actualizado la app, depende de donde lo pongas)

FrancisPM
17/10/13, 16:31:13
Solucionado, era eso. Yo dandole vueltas, y luego la solución más simple no he caido, jeje.

Gracias por todo. Un saludo.