android - SQLiteConstraintException : error code 19: constraint failed

标签 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);

最佳答案

您正在插入重复的电子邮件

另外,推荐的方法是将 _ID 列作为主键,即使您不使用它也是如此。这样在将来的使用中,例如在适配器或列表中使用,您就不必变通了。

关于android - SQLiteConstraintException : error code 19: constraint failed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4499201/

相关文章:

sql - 我可以使用通配符在 SQLite 中搜索多个表列吗?

java - 我想对服务发出警报

android - Jetpack Compose 中轮廓按钮的透明背景

android - 单击按钮时从 sql lite 检索数据

c++ - SQL 字符串错误?没有这样的专栏

android - 如何使用 SQLite Database.Cursor Factory

sql - SQL插入将值和另一个表中的列组合

android - Singleton 是将数据保存在 Android 应用程序内存中的最佳方式吗?

java - 链接回亚马逊应用商店以获取评分

Java Android Spinner onItemSelected