This is the expected and documented behaviour. Maybe you are looking for UPSERT?
-----Ursprüngliche Nachricht----- Von: sqlite-users [mailto:sqlite-users-boun...@mailinglists.sqlite.org] Im Auftrag von Roman Fleysher Gesendet: Dienstag, 23. Oktober 2018 19:53 An: General Discussion of SQLite Database <sqlite-users@mailinglists.sqlite.org> Betreff: [EXTERNAL] [sqlite] INSERT OR REPLACE and foreign keys Dear SQLiters, I am using INSERT OR REPLACE to update a table which holds a column which servers as a foreign key. But I noticed a strange behavior: If the parent record existed, then replace mechanism replaces it, but the records from children tables are deleted. The foreign key is set up to cascade on delete, as I think it should. So it seems that "replace" is implemented as "delete then insert" rather than "update". Is that normal and expected? Am I doing something wrong? Thank you, Roman _______________________________________________ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users ___________________________________________ Gunter Hick | Software Engineer | Scientific Games International GmbH | Klitschgasse 2-4, A-1130 Vienna | FN 157284 a, HG Wien, DVR: 0430013 | (O) +43 1 80100 - 0 May be privileged. May be confidential. Please delete if not the addressee. _______________________________________________ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users