Witam, mam następującą strukturę bazy:

PRAGMA foreign_keys = OFF;

DROP TABLE a;
DROP TABLE b;
DROP TABLE c;

PRAGMA foreign_keys = ON;

CREATE TABLE a (
    id INTEGER CONSTRAINT credentialstypes_pk PRIMARY KEY AUTOINCREMENT,
    text VARCHAR(512) NOT NULL
);

CREATE TABLE b (
    a_id INTEGER,
    lp INTEGER,
    text VARCHAR(512) NOT NULL,
    CONSTRAINT fk_a_id FOREIGN KEY (a_id) REFERENCES a(id)
);

CREATE TABLE c (
    a_id INTEGER,
    b_id INTEGER,
    lp INTEGER,
    text VARCHAR(512) NOT NULL,
    CONSTRAINT fk_aa_id FOREIGN KEY (a_id) REFERENCES b(a_id)
);

insert into a values(1,'test');
insert into b values(1,1,'test2');
insert into c values(1,1,1,'test3');

i nie działa,dostaję błąd Error: near line 31: foreign key mismatch
Problemem jest tu fk_aa_id, jak się zakomentuję tego constraint'a to jest ok, ale czemu tak się dzieje ? Potrzebuję takiej konstrukcji :/

EDIT:

Zapomniało mi się było o primary keys. w tabeli b, pole a_id musi być primary key, wtedy constraint z tabeli c jest ok :P