As a developer which used SQLite in various projects it is exactly this opinion which I do not share. First of all I understand your concerns about breaking existing DBs. Following the page <https://sqlite.org/foreignkeys.html> foreign key checking was added roughly 12 years ago. And still in 2021 you continue to force users in each new release to explicitly enable this functionality. This to keep compatibility for DBs which had been around before 2009? User expectations should not be neglected with no valid reason. I guess that 12 years are a long time for fixing the broken DB designs. And as a valid alternative, developers are still free to *disable* the FK checking on a per DB basis. Matthias Wallnöfer PS The same considerations apply also to the nullable PK issue, another long-standing misbehaviour in SQLite.