> I tried to see what MS SQL would do but it does not allow creation of the > tables primary key with any NULL segments.
This is the correct behavior; I thought SQLite enforced that. You can duplicate the correct behavior by adding <not null> to the spec for each PK column. > Does that mean I need to do my own check for an existing record instead of > using insert or replace? If you're going to allow nulls in primary keys, SQLite's behavior is correct; nulls are not equal to each other for the purpose of determining column uniqueness -- so the answer to your question is yes if you're going to allow nulls. Regards