@stantes

Почему данные записываются не корректно в MySQL?

Есть следующая функция:

import pymysql

def add_seller(seller_id, seller_name, seller_inn, seller_ogrn, seller_ogrnip, seller_email, seller_reg_date):
    try:
        connection = pymysql.connect(
            host='localhost',
            port=3306,
            user='root',
            password='password',
            database='db_name',
            cursorclass=pymysql.cursors.DictCursor
        )

        try:
            with connection.cursor() as cursor:
                # Получаем текущий timestamp
                second = int(datetime.now().timestamp())
                to_do_run = f"INSERT INTO sellers (seller_id, seller_name, seller_inn, seller_ogrn, seller_ogrnip, seller_email, seller_reg_date, seller_add_date) VALUES (%s, %s, %s, %s, %s, %s, %s, %s)"
                cursor.execute(to_do_run, (seller_id,
                                           seller_name,
                                           seller_inn,
                                           seller_ogrn,
                                           seller_ogrnip,
                                           seller_email,
                                           seller_reg_date,
                                           second))
                print(seller_id, seller_name, seller_inn, seller_ogrn, seller_ogrnip, seller_email, seller_reg_date, second)
                connection.commit()
        except:
            print(f'Ошибка добавления в базу ID - {seller_id}')
        finally:
            connection.close()

    except Exception as e:
        print(e, 'Connection refused... (add_seller)')


На вход принимает несколько параметров. Записывает данные в базу. Но записывает их некорректно.
Например, если вызвать функцию с такими параметрами:
add_seller(476214, 'ИП Акбашев Раиль Нильевич', 26823820965, 321028000198352, 321028000198352, 'AKBASHEV.RAIL@YANDEX.RU', '2021-12-01T08:24:49Z')

В базу данных записываются следующие данные:

id, seller_id, seller_name, seller_inn, seller_ogrn, seller_ogrnip, seller_email, seller_reg_date, second

118, 476214, ИП Акбашев Раиль Нильевич, 2147483647, 2147483647, 2147483647, AKBASHEV.RAIL@YANDEX.RU, 2021-12-01T08:24:49Z, 1686075092

т.е. seller_inn, seller_ogrn, seller_ogrnip записываются не верно.
В чем может быть проблема???
  • Вопрос задан
  • 93 просмотра
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
2147483647 = 231 - 1
Это максимальное 32-битное целое число со знаком.
Если вам нужно что-то большее, то используйте не число, а строку.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы