| Предыдущий | Следующий |
| SQLITE_E_IOERR_TRUNCATE | SQLITE_E_IOERR_FSTAT |
SQLITE_E_CONSTRAINT_PRIMARYKEY
Что означает SQLITE_E_CONSTRAINT_PRIMARYKEY
SQLITE_E_CONSTRAINT_PRIMARYKEY (0x87AF0613) — SQLite отклонила изменение из-за нарушения ограничения PRIMARY KEY.
Этот HRESULT представляет основной или расширенный код результата SQLite. Для диагностики сохраняйте полный SQLite-код, SQL-выражение, параметры, состояние транзакции и соединения, режим журнала и исходную ошибку ОС; один внешний HRESULT без этих данных часто скрывает различие между блокировкой, ограничением и ошибкой ввода-вывода.
Это SQLITE_CONSTRAINT_PRIMARYKEY: INSERT/UPDATE создаёт значение первичного ключа, конфликтующее с существующей строкой или правилами ключа.
Что проверить
- Сохраните значения столбцов первичного ключа и SQL-выражение.
- Проверьте, ожидалась ли операция вставки новой строки или обновления существующей.
- Если нужна идемпотентность, используйте явно выбранную UPSERT-политику конфликта вместо слепого повтора INSERT.
Технические ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.
