kshnkvn
@kshnkvn
yay ✌️ t.me/kshnkvn

Почему не происходит запись в БД?

conn = psycopg2.connect(dbname='client_data', user='postgres', password='*********', host='localhost')
input_cursor = conn.cursor()
if input_cursor.execute(f'SELECT EXISTS (SELECT * FROM users_info WHERE user_id = {user_id})') is None:
    input_cursor.execute(
        'INSERT INTO users_info (user_id, first_name, img_source, split_url, status, messages_counter, \
        last_message, last_message_date) VALUES ' +
        f'({user_id}, \'{first_name}\', \'{img_source}\', \'{split_url}\', ' +
        f'{status}, {messages_counter}, \'{text}\', \'{last_message_date}\')'
    )
    user_data = [user_id, first_name, img_source, split_url, status,messages_counter, text, last_message_date]
    print(user_data)

Ошибок никаких нет, проверка проходит, print(user_data) выводит все данные правильно. Единственное только, last_message_date = datetime.datetime.now() и print() выводит нечто такое:
[1, 'Ivan', None, None, 0, 0, 'фывыф выф вы', datetime.datetime(2019, 5, 16, 15, 29, 7, 329626)]

Полагаю в БД он отдает такой-же результат, может-ли это быть причиной?
Тип таблицы last_message_date у меня date.
  • Вопрос задан
  • 69 просмотров
Решения вопроса 1
NeiroNx
@NeiroNx
Программист
Вероятно вы не закрыли транзакцию - вот и не применяется.
Почитайте документацию - должно быть что-то вроде: input_cursor.commit()
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы