Каждый вызов INSERT
создает новую строку в таблице PopNamesDB
.Ваш код создает много таких строк: первая строка имеет country
, но NULL для всех остальных столбцов.Каждая из следующих N строк имеет нулевое значение country
, значение для colName
и значение NULL для всех остальных столбцов.
Простой способ исправить код - изменить последующие вызовы INSERT
(в строке 109) изменить строку, созданную ранее, вместо создания новых строк.Запрос будет выглядеть примерно так:
cur.execute(''' UPDATE PopNamesDB SET ''' + colName + ''' = ? WHERE country = ?''', (y, c))