Каков наилучший способ узнать, если оператор вставки нарушают уникальное ограничение в Android SQLite - PullRequest
1 голос
/ 26 марта 2012

в моем приложении для Android я планирую запустить несколько операторов вставки с использованием объекта SQLiteDatabas.

Я хочу, чтобы оператор вставки нарушал уникальное ограничение, чтобы я мог знать, в каком операторе вставки произошла ошибка, и этот оператор вставки не влияет на DB.

Кто-нибудь знает, как это сделать? Я видел insertWithOnConflict и insertOrThrow метод. Могу ли я узнать первый метод, когда произошло нарушение уникального ограничения?

1 Ответ

1 голос
/ 26 марта 2012

Я хочу, чтобы оператор вставки нарушал уникальное ограничение, чтобы я мог знать, в каком операторе вставки произошла ошибка, и этот оператор вставки не влияет на БД.

Если оператор INSERT нарушает ограничение уникальности, он по определению не повлияет на базу данных. Это бросит SQLiteException. Если вам нужно точно знать, какой INSERT нарушает ограничение, выполняйте их по одному, завернув в собственную транзакцию (beginTransaction(), setTransactionSuccessful(), endTransaction()).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...