当我在我的 SQLite 数据库中执行插入操作时,我遇到了这个异常
以下代码给了我异常:
mDbHelper.createUser("pablo","a","a","a","a");
来自 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);
}
在最后一行创建异常:return mDb.insert("user", null, initialValues);
最佳答案
您正在插入重复的电子邮件
。
另外,推荐的方法是将 _ID
列作为主键,即使您不使用它也是如此。这样在将来的使用中,例如在适配器或列表中使用,您就不必变通了。
关于android - SQLiteConstraintException : error code 19: constraint failed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4499201/