IntegrityError: сбой ограничения NOT NULL PYTHON, SQLite3 - PullRequest
0 голосов
/ 16 февраля 2019

Я пытаюсь сохранить свой json-файл в базе данных popNames, но эта ошибка появляется.Мой файл Json - это словарь, в котором ключом является страна, а имена людей называются key_value.В моей БД я хочу поместить страну в качестве первого элемента в качестве основного, а имена в последующем столбце таблицы БД

Может кто-нибудь помочь мне с этим?

введите описание изображения здесь

1 Ответ

0 голосов
/ 16 февраля 2019

Каждый вызов INSERT создает новую строку в таблице PopNamesDB.Ваш код создает много таких строк: первая строка имеет country, но NULL для всех остальных столбцов.Каждая из следующих N строк имеет нулевое значение country, значение для colName и значение NULL для всех остальных столбцов.

Простой способ исправить код - изменить последующие вызовы INSERT (в строке 109) изменить строку, созданную ранее, вместо создания новых строк.Запрос будет выглядеть примерно так:

cur.execute(''' UPDATE PopNamesDB SET ''' + colName + ''' = ? WHERE country = ?''', (y, c))
...