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 値をインポートするにはどうすればよいですか?