Я пытаюсь вставить несколько строк в таблицу, которая имеет поле целых чисел, которое может быть 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?