我正在尝试将一些行插入到具有整数字段的表中,该字段可以为 NULL:
cur.execute("INSERT INTO mytable (id, priority) VALUES (%(id)d, %(priority)d)", \
{'id': id, 'priority': priority})
优先级变量是整数或None
。这在优先级具有整数值时有效,但是,当None
我收到以下错误时:
internal error in 'BEGIN': int argument required
我注意到,对于 Python 的字符串格式化,通常不能将None
其用作要格式化的整数的值——它会引发与 pgdb 引发的相同错误。但是,当我将格式字符串%(priority)s
更改为错误更改为:
internal error in 'BEGIN': unsupported format character 'W' (0x57) at index 60
我想那是因为我试图将一个字符串导入一个整数字段。
如何导入 NULL 值?