| Предыдущий | Следующий |
| SQLITE_E_CANTOPEN_FULLPATH | SQLITE_E_READONLY_DBMOVED |
SQLITE_E_CONSTRAINT_FOREIGNKEY
Что означает SQLITE_E_CONSTRAINT_FOREIGNKEY
SQLITE_E_CONSTRAINT_FOREIGNKEY (0x87AF0313) — Нарушено ограничение внешнего ключа.
В подсистеме «SQLite» этот HRESULT описывает объект «ограничение базы: нарушено ограничение внешнего ключа», и первый диагностический шаг — сопоставить первый отказ с фактическими параметрами операции.
Диагностика и проверка результата
Когда исходная операция завершается сообщением «нарушено ограничение внешнего ключа», воспроизведите исходную операцию на минимальном объекте и меняйте только одно условие за запуск.
Для диагностики темы «ограничение базы: нарушено ограничение внешнего ключа» сохраните полный extended result code, SQL, параметры, режим journal, путь к базе и состояние транзакции.
В воспроизводимом отчёте зафиксируйте данные SQLITE_CONSTRAINT_FOREIGNKEY, PRAGMA foreign_key_check, ON DELETE, ON UPDATE для проверки темы «ограничение базы: нарушено ограничение внешнего ключа».
PRAGMA foreign_keys;
PRAGMA foreign_key_check;
Повторите операцию в том же окружении и сравните первый отличающийся вызов; для результата 0x87AF0313 этого надёжнее, чем единичный успешный запуск на других данных.
Документация для результата 0x87AF0313: SQLite: SQLITE_CONSTRAINT_FOREIGNKEY · SQLite: Foreign Key Support · SQLite: Foreign Key Clauses.
Нужно найти другой код? Найти другой код состояния или ошибки.