Справочник · ошибки Python
IntegrityError
База данных отказалась сохранять запись: нарушено правило таблицы — например, такой ключ уже есть.
Python пишет ошибку в последней строке сообщения: сначала название, после двоеточия — подробности. Найди своё сообщение ниже — рядом объяснение простыми словами и что исправить.
Такое значение уже есть
IntegrityError: UNIQUE constraint failed: users.email
- Что случилось
- Значение в столбце
users.emailдолжно быть уникальным, а такое уже записано. - Почему так бывает
- У первичного ключа не бывает одинаковых значений.
- Как исправить
- Возьми другое значение или не указывай его: номер для первичного ключа поставится сам.
Разбираем в уроке 14.3 «Меняем: INSERT, UPDATE, DELETE».
Значение обязательно
IntegrityError: NOT NULL constraint failed: pets.name
- Что случилось
- В столбец
pets.nameнужно записать значение. - Почему так бывает
- Этот столбец нельзя оставлять пустым.
- Как исправить
- Добавь значение для этого столбца в команду.
Разбираем в уроке 14.3 «Меняем: INSERT, UPDATE, DELETE».
Нет такой связи
IntegrityError: FOREIGN KEY constraint failed
- Что случилось
- Запись ссылается на строку, которой нет в другой таблице.
- Почему так бывает
- Внешний ключ должен указывать на существующий номер в главной таблице.
- Как исправить
- Сначала добавь нужную строку в главную таблицу или проверь номер.
Разбираем в уроке 14.4 «Связи между таблицами».
Другие ошибки
SyntaxErrorNameErrorAttributeErrorTypeErrorIndentationErrorTabErrorValueErrorZeroDivisionErrorIndexErrorKeyErrorUnboundLocalErrorRecursionErrorFileNotFoundErrorUnsupportedOperationUnicodeDecodeErrorModuleNotFoundErrorJSONDecodeErrorEOFErrorAssertionErrorValidationErrorMissingSchemaConnectionErrorReadTimeoutHTTPErrorOperationalErrorProgrammingErrorNotImplementedError