@nikita_chiru

Как убрать дублирующие значения в SQLite?

Как не пропускать дублирующие значения к записи ??

1) база данных
public class DBHelper extends SQLiteOpenHelper{

public static final int DATABASE_VERSION = 1;
public static final String DATABASE_NAME = "contactDb";
public static final String TABLE_CONTACTS = "contacts";

public static final String KEY_ID = "_id";
public static final String KEY_NAME = "name";
public static final String KEY_MAIL = "mail";

public DBHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}

@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("create table " + TABLE_CONTACTS + "(" + KEY_ID
+ " integer primary key," + KEY_NAME + " text," + KEY_MAIL + " text" + ")");

}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("drop table if exists " + TABLE_CONTACTS);

onCreate(db);

}
}

///////////////////////////////////
//////////////////////
//////////////////////////////////
2) Добавление в базу данных
String value3 = adapter.getItem(position).title;
int value2 = adapter.getItem(position).price;
SQLiteDatabase database = dbHelper.getWritableDatabase();

ContentValues contentValues = new ContentValues();
switch (index) {
case 0:
contentValues.put(DBHelper.KEY_NAME, value3);
contentValues.put(DBHelper.KEY_MAIL, value2);

database.insertWithOnConflict(DBHelper.TABLE_CONTACTS, null, contentValues, SQLiteDatabase.CONFLICT_REPLACE);

Toast.makeText(getApplicationContext(), "Action 2 for " + value3 +"цена"+ value2, Toast.LENGTH_SHORT ).show();

break;
  • Вопрос задан
  • 334 просмотра
Решения вопроса 1
@nikita_chiru Автор вопроса
db.execSQL("create table " + TABLE_IZBRANNOE + "(" + KEY_ID
+ " integer primary key on conflict replace," + KEY_NAME + " text unique on conflict ignore," + KEY_PRICE + " text" + ")");
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
BuriK666
@BuriK666
Компьютерный псих
Сделайте уникальный index
https://www.sqlite.org/lang_createindex.html
CREATE UNIQUE INDEX .... ON .... (mail)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы