I have created a simple table that contains the name and email id\'s of the persons. When i am giving the create query like this:
\"create table contacts (name
as per the faq of sqlite documentation, using TEXT
as a datatype for primary key should work.
i used your query and here it is, the table is created.
CREATE TABLE contacts ( email text primary key not null, name text not null);
INSERT INTO contacts VALUES ('sample@email.com', 'sample')
INSERT INTO contacts VALUES ('people@email.com', 'sample')
now here is where it went wrong.
when i ran this again
INSERT INTO contacts VALUES ('sample@email.com', 'sample')
nothing happened, no errors. But it did not update the record. so i conclude data integrity is there but you don't get any feedback about the failure.
SQLiteDatabase.insertOrThrow() should throw an exception if the value could not be inserted.
Also its return values, as well the one from SQLiteDatabase.insert()
is the rowid
of the inserted row or -1
if it fails. You should opt for any of these alternatives in your code.