Your English is either a third language (like mine) or you are using a translator, but something is getting lost in translation. The only real thing that would explain to us your problem is to post your database schema here. Show your exact table definitions, and how you declared these unique keys that do not work. Maybe then we might understand and help you better. To be clear: If you declare a column as "INTEGER PRIMARY KEY" in any table (except WITHOUT ROWID tables) in SQLite, it MUST return an incremental unique value for that column, else it is not SQLite or it is a spelling mistake as Keith guessed at. So please, just post the schema (the SQL used to create the tables). We should be able to help easily then.