IntegrityError:NOT NULL约束失败PYTHON,SQLite3

时间:2019-02-16 04:17:13

标签: python sqlite integrity notnull

我正在尝试将json文件存储到popNames DB中,但会弹出此错误。 我的Json文件是一本字典,其中国家(地区)为键,个人名称为key_value。在我的数据库中,我想将国家/地区作为第一个元素,并将名称放在数据库表的后续列中

有人可以帮我吗?

enter image description here

1 个答案:

答案 0 :(得分:0)

每次INSERT调用都会在PopNamesDB表中创建一个新行。您的代码创建了很多这样的行:第一行有一个country,但其他所有列都为NULL。接下来的N行每行都有一个空country,一个colName的值以及所有其他列的NULL。

修复代码的一种简单方法是更改​​后续的INSERT调用(在第109行)以更改您先前创建的行,而不是创建新行。查询将类似于

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