Что означает код HRESULT 0x87AF0713 (SQLITE_E_CONSTRAINT_TRIGGER)?

 
Предыдущий Следующий
SQLITE_E_IOERR_FSTAT SQLITE_E_IOERR_UNLOCK

SQLITE_E_CONSTRAINT_TRIGGER

Что означает SQLITE_E_CONSTRAINT_TRIGGER

SQLITE_E_CONSTRAINT_TRIGGER (0x87AF0713) — Триггер сообщил о нарушении ограничения.

Практическая граница результата — ограничение базы, триггер; поэтому сначала нужно сопоставить первый отказ с фактическими параметрами операции, а не переустанавливать весь компонент «SQLite».

Диагностика и проверка результата

В сценарии «триггер сообщил о нарушении ограничения» воспроизведите исходную операцию на минимальном объекте и меняйте только одно условие за запуск.

При воспроизведении темы «ограничение базы, триггер» обязательно сохраните полный extended result code, SQL, параметры, режим journal, путь к базе и состояние транзакции.

При сравнении запусков отдельно отметьте: SQLITE_CONSTRAINT_TRIGGER, RAISE(), SELECT name, sql FROM sqlite_master WHERE type = 'trigger';; эти сведения относятся к теме «ограничение базы, триггер».

SELECT name, sql FROM sqlite_master WHERE type = 'trigger';

Повторите операцию в том же окружении и сравните первый отличающийся вызов; для результата 0x87AF0713 этого надёжнее, чем единичный успешный запуск на других данных.

Документация для результата 0x87AF0713: SQLite: SQLITE_CONSTRAINT_TRIGGER · SQLite: Triggers and RAISE() · SQLite: Conflict Resolution.


Нужно найти другой код? Найти другой код состояния или ошибки.