0
我试图一些行插入具有整数的字段的表,其可以是NULL:PyGreSQL为空值整数字段
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值?
您使用的是pygresql的一个版本?发行说明声称在3.0版本中对此做了一些修改。 – 2010-02-26 15:09:47
另外,你确定优先级是'int'而不是'str'中的数字吗? – 2010-02-26 15:13:49
'pgdb.version'报告'4.0'和'priority'绝对是一个整数 - 它是使用'int(some_str)'创建的' – James 2010-02-26 15:14:29