SQLiteConstraintException:错误代码19:约束失败

时间:2010-12-21 12:25:15

标签: android sqlite

当我在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);

1 个答案:

答案 0 :(得分:39)

您正在插入重复的email

另外,建议的方法是将_ID列作为主键,即使您不使用它。这种方式在未来的使用中,如在适配器或列表中使用,您将不必解决方法。