ON DELETE CASCADE en sqlite3

Tengo la siguiente estructura: (Lo siento por nombres torpes, es porque es una database 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 key externa no está habilitada en SQLite de manera pnetworkingeterminada. Debe habilitarlo manualmente cada vez que se conecte a la database utilizando pragma:

 PRAGMA foreign_keys = ON 

¿Tiene habilitada la compatibilidad con keys externas?

consulta PRAGMA foreign_keys = ON; Encenderlo