Форум сайта python.su
Добрый день, задача заключается в том, что бот должен перечислить все данные из колонки messageg, но он выводит только первое значение и все. Подскажите как исправит это.
Использую: Python 3.10; sqlite3; telebot
@bot.message_handler(commands=["Посмотреть"]) def take_message(message): bot.send_message(message.chat.id, take() )
def create_table(): cursor.execute('CREATE TABLE data (user_id integer, user_name text,messageg text)') conn.commit() def take(): print("Results from a LIKE query:") sql = "SELECT * FROM data" cursor.execute(sql) records = (cursor.fetchall()) log = [] for row in records: log.append(row[2]) return log
Отредактировано MissNona (Окт. 13, 2025 12:24:32)
Офлайн
Какая СУБД? “Звёздочку” в запросах не нужно использовать. В место
SELECT * FROM data
SELECT messageg FROM data
Офлайн
MissNonaМного ли у вас записей в БД? Как часто вы создаёте БД? Может в ней просто не успевают накапливаться данные? Для того чтобы данные накапливались в БД, лучше использовать такую конструкцию:
бот должен перечислить все данные из колонки messageg, но он выводит только первое значение и все.def create_table(): cursor.execute('CREATE TABLE data (user_id integer, user_name text,messageg text)') conn.commit()
cursor.execute('CREATE TABLE IF NOT EXISTS data (user_id integer, user_name text,messageg text)')
Офлайн