Неверное целочисленное значение: «% s» для столбца «materialdatabase» .tensilesummary` .batchnumber` в строке 1 - PullRequest
0 голосов
/ 22 февраля 2020
batchnumbers = [1,2,3,4,5,6,7,8,9,10] 
def update_batchnum():
    try:
        for num in range(len(batchnumbers)):
            query = ("INSERT INTO tensilesummary(batchnumber) VALUES ('%s');")
            cursor.execute(query,batchnumbers[num])
            mariadb_connection.commit() 
            print("Batchnumber successfullt inserted into tensilesummary table")

    except mysql.connector.Error as error: 
        print("Failed using updatebatchnum to insert into tensilesummary table:{}".format(error))

update_batchnum()

Возвращенная ошибка: не удалось использовать updatebatchnum для вставки в таблицу кратных значений: 1366 (22007): неверное целочисленное значение: '% s' для столбца materialdatabase. tensilesummary. batchnumber в строке 1.

Я пытался изменить sql_mode = "" в my.ini, но это не работает.

1 Ответ

0 голосов
/ 22 февраля 2020
  1. При использовании заполнителей не ставьте их в кавычки, также добавляется точка с запятой.

query = "INSERT INTO tensilesummary (batchnumber) VALUES (%s)"

Согласно DBAPI 2.0 (PEP-249) вторым параметром cursor.execute должен быть кортеж, поэтому он должен быть (batchnumbers[num],)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...