SQLite
 sql >> база данни >  >> RDS >> SQLite

Уникално ограничение на таблицата на SQLite и използване ON CONFLICT REPLACE

Променете структурата на вашата таблица на тази

private static final String CREATE_USER_TABLE = "CREATE TABLE IF NOT EXISTS " + TABLE_LOCATIONS + "("
            + UID + " TEXT PRIMARY KEY," + ADDRESS + " TEXT,"
            + LONGITUDE + " TEXT," + LATITUDE + " TEXT,
            UNIQUE(" + LOGITUDE + "," + LATITUDE + ") ON CONFLICT REPLACE)";

След това, когато направите вмъкването, използвайте метода по-долу

ContentValues insertValues = new ContentValues();
insertValues.put(LATITUDE, latitude);
insertValues.put(LOGITUDE, longitude);
db.insertWithOnConflict(TABLE_LOCATIONS, null, insertValues, SQLiteDatabase.CONFLICT_REPLACE);



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQLite - Архивиране на база данни във файл

  2. Грешка в Android:Не може да се извърши тази операция, защото пулът за връзки е затворен

  3. onCreate() на RoomDatabase.Callback() не беше извикан след успешно извикване на .build()

  4. Как Substr() работи в SQLite

  5. Android:Как да поискате курсор за опресняване на ListView след изтриване на ред в базата данни?