新しい空のテーブルにデータを挿入しようとしています。しかし、エラーが発生し続けます (エラー コード 19: 制約が失敗しました)。問題は「INTEGER PRIMARY KEY AUTOINCREMENT」が原因である可能性があると思います。これが私のコードです:
database.execSQL("CREATE TABLE IF NOT EXISTS contacts (cid INTEGER PRIMARY KEY AUTOINCREMENT, name varchar NOT NULL, user varchar NOT NULL, UNIQUE(user) ON CONFLICT REPLACE)");
...
String sql = "INSERT OR IGNORE INTO contacts ( name , user) VALUES (?, ?)";
database.beginTransaction();
SQLiteStatement stmt = database.compileStatement(sql);
stmt.bindString(1, name);
stmt.bindString(2, entry.getUser());
int i = (int)stmt.executeInsert();
stmt.execute();
stmt.clearBindings();
stmt.close();
// error: 06-11 20:50:42.295: E/DB(12978): android.database.sqlite.SQLiteConstraintException: error code 19: constraint failed
SQLステートメントの何が問題なのか誰でも知っていますか? どうすればこの問題を解決できますか? ありがとう
、stackoverflow に関するいくつかの記事を読みました。しかし、「挿入または置換」+「INTEGER PRIMARY KEY AUTOINCREMENT」に関連する投稿は見つかりません。