llaves llave foreign foraneas foranea ejemplo clave sqlite sqlitemanager

llave - sqlite foreign key android



La restricción de clave externa no funciona (1)

¿Estás seguro de que el soporte de clave externa está habilitado?

Suponiendo que la biblioteca está compilada con restricciones de clave foránea habilitadas, la aplicación todavía debe habilitarla en tiempo de ejecución, utilizando el comando PRAGMA foreign_keys. Por ejemplo:

sqlite> PRAGMA foreign_keys = ON;

Tengo dos tablas, tema y cuestionario , aquí está su definición:

CREATE TABLE "theme" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL , "nom" VARCHAR NOT NULL ); CREATE TABLE quiz( id INTEGER PRIMARY KEY, nom VARCHAR(256) NOT NULL, theme INTEGER NOT NULL, niveau INTEGER NOT NULL, pass INTEGER DEFAULT 1 NOT NULL, jok INTEGER DEFAULT 1 NOT NULL, etat INTEGER DEFAULT 0 NOT NULL, FOREIGN KEY (theme) REFERENCES theme(id) );

El id campo (la clave principal) en el tema de la tabla es una Foreign Key en la tabla de prueba . Cuando intento insertar un registro en el cuestionario de la tabla que contiene el valor 30, por ejemplo, como clave externa, el registro se inserta correctamente en la tabla de quiz , aunque no hay ningún registro en la tabla de temas con el id = 30 , quiero decir, ¿Se suponía que no debía interrumpir este inserto ya que tenía una restricción de clave externa?