tutorial tiny servidor pagina oficial sql sqlite

tiny - sqlite website



ON DELETE CASCADE en sqlite3 (2)

¿Tiene habilitada la compatibilidad con claves externas?

consulta PRAGMA foreign_keys = ON; Encenderlo

Tengo la siguiente estructura: (Lo siento por nombres torpes, es porque es una base de datos sqlite para mi aplicación de iPhone que aún no se ha lanzado)

CREATE TABLE klb_log ( id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, log_comment varchar(512) ) CREATE TABLE klb_log_food_maps ( uid integer, did integer, PRIMARY KEY (uid,did), FOREIGN KEY (uid) references klb_log(id) ON DELETE CASCADE, FOREIGN KEY (did) references klb_food(id) ON DELETE CASCADE ) CREATE TABLE klb_food ( id integer, description varchar(255), PRIMARY KEY (id) )

¿Hay alguna razón por la cual la fila en klb_log_food_maps no se elimine cuando elimino una fila en klb_log ?


La compatibilidad de clave externa no está habilitada en SQLite de manera predeterminada. Debe habilitarlo manualmente cada vez que se conecte a la base de datos utilizando pragma:

PRAGMA foreign_keys = ON