以下面的代码为例:
pragma foreign_keys = ON;
create table people(people_id integer primary key, name text not null);
insert into people (name) values ("Mom"), ("Jack the Ripper");
create table family_member(people_id integer primary key references people(people_id));
insert into family_member values ((select people_id from people where name = "Mom"));
insert into family_member values ((select people_id from people where name = "Dad")); -- silent error here
select name from family_member inner join people using (people_id);
-- Jack the Ripper is part of the family
这在 sqlite 中怎么会是合法的?甚至没有发出警告。这是出于好的理由,还是出于遗留原因,文档中是否有我尚未找到的内容?对我来说,这令人担忧,我相信没有其他 SQL DB 会这样做。