SQLiteConstraintException: codice di errore 19: vincolo non riuscito

Sto ricevendo quell’eccezione quando faccio un inserimento nel mio database SQLite

Il seguente codice mi dà l’eccezione:

mDbHelper.createUser("pablo","a","a","a","a"); 

Il codice da mDbHelper (MyDbAdapter):

 private static final String USER_TABLE_CREATE = "CREATE TABLE user ( email varchar, password varchar, fullName varchar, mobilePhone varchar, mobileOperatingSystem varchar, PRIMARY KEY (email))"; public long createUser(String email, String password, String fullName, String mobilePhone, String mobileOperatingSystem) { ContentValues initialValues = new ContentValues(); initialValues.put("email",email); initialValues.put("password",password); initialValues.put("fullName",fullName); initialValues.put("mobilePhone",mobilePhone); initialValues.put("mobileOperatingSystem",mobileOperatingSystem); return mDb.insert("user", null, initialValues); } 

L’eccezione viene creata sull’ultima riga: return mDb.insert("user", null, initialValues);

Stai inserendo email duplicata.

Inoltre, il modo consigliato è di avere una colonna _ID come chiave primaria, anche se non la usi. In questo modo sugli usi futuri, come l’uso in un adapter o in un elenco, non dovrai risolvere il problema.