УРОВЕНЬ ПРОБЛЕМЫ: У меня есть две таблицы, в которых первичные ключи являются текстовыми полями.
Когда я неоднократно использую SQLiteDatabase.insertWithOnConflict(myTable, null, myValues, SQLiteDatabase.CONFLICT_REPLACE)
с одними и теми же данными, я вижу, что возвращаются все увеличивающиеся значения.
Похоже, что INSERT выполняется (вместо REPLACE) для тех же наборов данных.
ПРОБЛЕМА: Однако, глядя на эти таблицы с помощью "Обозревателя баз данных SQLite"«Я вижу правильное количество записей, которое я ожидаю при выполнении REPLACE.
Корень моей путаницы - это описание документации Android, в которой говорится: * Возвращает идентификатор новой вставленной строки ИЛИ основнойключ существующей строки, если входной параметр 'contactAlgorithm' = CONFLICT_IGNORE ИЛИ -1, если возникнет какая-либо ошибка *
ВОПРОС: Почему выполняется ЗАМЕНА, но идентификатор строкисуществующие данные не возвращаются?