@kodbiprog

Проблема с Telebot Python Sqlite3?

Я хочу сделать так, чтобы к прошлой записи Login + Name прибавлялась новая точно такая же, но уже на другой строке. Когда пишу /add и пишу к примеру "hello" или "fhwefuiwefgiw 322 fsde"(не важно, выбирается только первое слово предложения), то в БД сохраняется вместо первого слова - 0.
Код:
def support_reg(message):
word = str(message.text)
name_for_table = (word.split()[0])
db = sqlite3.connect('db_for_freelance.db')
sql = db.cursor()

sql.execute("""CREATE TABLE IF NOT EXISTS users (
login TEXT,
name TEXT,
cash INT,
comment TEXT
)""")
db.commit()
sql.execute(f'UPDATE users SET name = name + \n? WHERE login = ?', (name_for_table, message.from_user.id))
db.commit()
check_name = sql.execute(f"SELECT name from users WHERE login = '{message.from_user.id}'").fetchone()[0]
print(check_name)
bot.send_message(message.chat.id, f"Ник саппорта: {check_name}")
  • Вопрос задан
  • 43 просмотра
Пригласить эксперта
Ответы на вопрос 1
@o5a
Потому что текстовые строки складываются не так, как числа.
sql.execute("UPDATE users SET name = name || '\n' || ? WHERE login = ?", (name_for_table, message.from_user.id))

А для чего вообще это добавление на новой строке понадобилось?
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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