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