Таблица Sqlite разбивает строку на символы

Рейтинг: 0Ответов: 1Опубликовано: 02.02.2023

Я делаю Телеграмм бота на Telebot и когда я пытаюсь добавить строку в бд, её добавляет, но разделённую на символы.

Это код

Вот так добавляет строку бд

Как должно добавлять

Буду очень благодарен если поможете решить эту проблему

Ответы

▲ 0Принят

А вы знаете как работает executemany? В вашем случае executemany на каждый символ строки создавал запрос INSERT INTO, который передавался в поле disc

Если вам нужно вставить одну строку в базу, то используйте просто execute, но оберните textdb в кортеж или список:

cursor.execute("<ваш sql запрос>", (textdb,))

PS.

У execute(sql, parameters=()) второй параметр принимает кортеж, но ему на самом деле сойдет любой объект с поддержкой итерацией (строки тоже подходят из-за чего, если передавать как есть, то код поведет себя не так как ожидалось). Поэтому, нужно было обернуть textdb в кортеж на 1 элемент (textdb,) - тут важна запятая, т.к. в случаи (textdb) это не будет кортежом.

Если несколько параметров передавать, то это выглядит адекватнее, типа: cursor.execute("<ваш sql запрос (?, ?, ?)", (textdb, result, abc))