psycopg2.DataError: неверный синтаксис ввода для целого числа: "" - PullRequest
0 голосов
/ 07 мая 2018

Я пытаюсь вставить данные в таблицу. Когда я пытаюсь вставить пустую строку в текстовое поле, я получаю сообщение об ошибке invalid input syntax for integer.

Другие текстовые поля работают нормально с пустой строкой.

Мой код:

cur_p.execute("""
                INSERT INTO a_recipient (created, mod, agreed, address, honor)
                VALUES (current_timestamp, current_timestamp, current_timestamp, %s, %s)""", (None, None))

psycopg2.DataError: invalid input syntax for integer: "" LINE 35: ... '', ''..

Код работает нормально, если я удаляю последний current_timestamp в значениях, а также agreed, но если я возвращаю его, снова появляется сообщение об ошибке.

Я проверил другие потоки, открытые здесь, в SO, я нашел это, но проблема была в значениях в массиве ошибка ввода: целое число

Любой совет?

1 Ответ

0 голосов
/ 07 мая 2018

Похоже, здесь есть несколько проблем.

Во-первых, в вашем INSERT INTO есть пять столбцов, которые вы называете (созданы, мода и т. Д.), Но в вашем VALUES утверждении (%s, %s) у вас есть только две переменные.

Я не знаю, каковы типы данных ваших столбцов, но ошибка может быть в том, что вы пытаетесь вставить пустые строки '' в целочисленное поле. Попробуйте использовать None вместо пустых строк. Psycopg2 преобразует объекты Python None в SQL NULL.

Я также не думаю, что вам нужна запятая после "чести".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...