| Предыдущий | Следующий |
| hrIndexCantBuild | hrIndexDuplicate |
hrIndexHasPrimary
Что означает hrIndexHasPrimary
hrIndexHasPrimary (0xC800057A) — первичный индекс уже определён.
Это старый HRESULT-вариант результата ESE (Extensible Storage Engine, ESENT); в JET API соответствующее условие известно как JET_errIndexHasPrimary.
Что проверить
- Зафиксируйте текущий индекс, его сегменты и флаги, а также фактически построенный ключ. Ошибка определения индекса отличается от ошибки позиции курсора или конфликтующего ключа.
- После изменения индексируемых столбцов заново проверьте позицию курсора; для unique/primary индекса отдельно исследуйте ключ конфликтующей записи.
Практический смысл и диагностика
- У таблицы уже есть primary index, а текущий schema request пытается определить ещё один.
- `hrIndexHasClustered` относится к clustered layout; primary и clustered index могут быть связаны, но это не взаимозаменяемые понятия.
- Используйте существующий primary index либо заменяйте его только в рамках явно спланированной schema migration.
- Перечислите index flags и определите, какая migration создала текущий primary definition.
Технические ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.