当我在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);
答案 0 :(得分:39)
您正在插入重复的email
。
另外,建议的方法是将_ID
列作为主键,即使您不使用它。这种方式在未来的使用中,如在适配器或列表中使用,您将不必解决方法。