150_Kirill_150
@150_Kirill_150
FX, Python, C# (Unity), Coding, адепт Linux

SQLite3 Проблема с условиями?

Написал код который должен выбрать в SQLite3 данные строчки id, если в строке game_is_true = True and game_is_true2 = False и вывести их на экран. В базе данных, в таблице users имеются следующие строчки
id game_id game_is_true game_is_true2
543535345 54353467546 True False
85648444 7678575484 False False
675785757 76745785 True True
87768686767 856757445 False True
1 строчка подходит под условие кода, но никакие строчки не выводятся, просто []. Что не так с кодом?
# -*- coding: utf-8 -*-

import sqlite3
 
conn = sqlite3.connect("mydatabase0.db")
cursor = conn.cursor()
 
cursor.execute("""CREATE TABLE IF NOT EXISTS users (
                  id BIGINT,
                  game_id BIGINT,
                  game_is_true TEXT,
                  game_is_true2 TEXT
               )""")
conn.commit()
sqla = [('543535345', '54353467546', 'True', 'False'),
          ('85648444', '7678575484', 'False', 'False'),
          ('675785757', '76745785', 'True', 'True'),
          ('87768686767', '856757445', 'False', 'True')]
cursor.executemany('INSERT INTO users VALUES (?, ?, ?, ?)', sqla)
conn.commit()

cursor.execute("""SELECT id FROM users WHERE game_is_true = True AND game_is_true = False""")
conn.commit
print(cursor.fetchall()) # or use fetchone()
  • Вопрос задан
  • 48 просмотров
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Python
Седой и строгий
У вас поля game_is_true и game_is_true2 текстовые, поэтому передавать в условие нужно строки, а не логические значения.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы