Bot ignoriert if abfrage für Datenbank Table

hey ich versuche meine dfatenbanken etwas zu optimieren und bis auf eine abfrage ignoriert er jegliche if else abfragen und ich finde den vermaledeiten fehler nicht
async def create_klembaustein_db():
query = f"""CREATE TABLE IF NOT EXISTS {DB_KLEMMBAUSTEIN_NAME} (
klemmbaustein_name VARCHAR(255) NOT NULL,
klemmbaustein_nummer BIGINT NOT NULL,
klemmbaustein_kategorie VARCHAR(255) NOT NULL,
klembaustein_art VARCHAR(255) NOT NULL
)"""
async with connect() as (con, cur):
await cur.execute("SHOW TABLES; ")
tables = await cur.fetchone()
klembausteindb = "klemmbaustein_db"
if klembausteindb in tables:
return print("Table Advent Calendar Gefunden")
else:
await cur.execute(query)
await con.commit()
return print("Klemmbaustein table created")
async def create_klembaustein_db():
query = f"""CREATE TABLE IF NOT EXISTS {DB_KLEMMBAUSTEIN_NAME} (
klemmbaustein_name VARCHAR(255) NOT NULL,
klemmbaustein_nummer BIGINT NOT NULL,
klemmbaustein_kategorie VARCHAR(255) NOT NULL,
klembaustein_art VARCHAR(255) NOT NULL
)"""
async with connect() as (con, cur):
await cur.execute("SHOW TABLES; ")
tables = await cur.fetchone()
klembausteindb = "klemmbaustein_db"
if klembausteindb in tables:
return print("Table Advent Calendar Gefunden")
else:
await cur.execute(query)
await con.commit()
return print("Klemmbaustein table created")
vieleicht weiß hier jemand wo das problem ist
10 Replies
Bl4cklist🔥System
:hack: - Danke für deine Frage! › Unsere Community freut sich schon, dir bei deinem Problem weiterzuhelfen! Sei so lieb und unterstütze die Personen welche dir weitergeholfen in dem du die Antwort welche das Problem lösen konnte akzeptierst. - :accept: = Akzeptiert die Antwort und markiert dein Problem als gelöst. Alternativ kannst du auch /solved verwenden, falls du es selbst herausgefunden hast. Pushe deinen Post für mehr Aufmerksamkeit mit /push. ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
Blue_Gamer48
Blue_Gamer48OP8mo ago
er führt immer das else: aus obwohl ich diesen table schohn hab
/home/user/PycharmProjects/botname/.venv/lib/python3.11/site-packages/aiomysql/cursors.py:239: Warning: Table 'klemmbaustein_db' already exists
await self._query(query)
Klemmbaustein table created
/home/user/PycharmProjects/botname/.venv/lib/python3.11/site-packages/aiomysql/cursors.py:239: Warning: Table 'klemmbaustein_db' already exists
await self._query(query)
Klemmbaustein table created
! Yannic
! Yannic8mo ago
Dann lass dir doch mal die Tabellen ausgeben mit print(tables). Dann siehst du was drinne ist
NΞVNΞX
NΞVNΞX8mo ago
Versuch mal
async def create_klembaustein_db():
query = f"""CREATE TABLE IF NOT EXISTS {DB_KLEMMBAUSTEIN_NAME} (
klemmbaustein_name VARCHAR(255) NOT NULL,
klemmbaustein_nummer BIGINT NOT NULL,
klemmbaustein_kategorie VARCHAR(255) NOT NULL,
klembaustein_art VARCHAR(255) NOT NULL
)"""
async with connect() as (con, cur):
await cur.execute("SHOW TABLES LIKE %s;", (DB_KLEMMBAUSTEIN_NAME,))
table_exists = await cur.fetchone()

if table_exists:
print("Table Klemmbaustein_DB gefunden")
else:
await cur.execute(query)
await con.commit()
print("Klemmbaustein table created")
async def create_klembaustein_db():
query = f"""CREATE TABLE IF NOT EXISTS {DB_KLEMMBAUSTEIN_NAME} (
klemmbaustein_name VARCHAR(255) NOT NULL,
klemmbaustein_nummer BIGINT NOT NULL,
klemmbaustein_kategorie VARCHAR(255) NOT NULL,
klembaustein_art VARCHAR(255) NOT NULL
)"""
async with connect() as (con, cur):
await cur.execute("SHOW TABLES LIKE %s;", (DB_KLEMMBAUSTEIN_NAME,))
table_exists = await cur.fetchone()

if table_exists:
print("Table Klemmbaustein_DB gefunden")
else:
await cur.execute(query)
await con.commit()
print("Klemmbaustein table created")
Blue_Gamer48
Blue_Gamer48OP8mo ago
er findet nur einen der tabels ich hab mich grade mit der datenbank per phpmyadmin verbunden und da sind alle tabels da auch wenn ich das bei table_name mache gibt aber bei else aus jo den table gibt es schohn das ist schrödingers datenbank es exestiert und exestiert gleichzeitig nicht
Fabian
Fabian8mo ago
table_exists = await cur.fetchone()
wundert mich nicht, versuch mal fetchall ;)
Blue_Gamer48
Blue_Gamer48OP8mo ago
uups das macht sinn ja das war die lösung nee doch net der selbe fehler obwohl ich das drinn hab seltsam und es werden mir alle datenbanken angezeigt
NΞVNΞX
NΞVNΞX8mo ago
async with connect() as (con, cur):
await cur.execute("SHOW TABLES;")
tables = await cur.fetchall()
table_names = [row[0] for row in tables]
klembausteindb = "klemmbaustein_db"
if klembausteindb in table_names:
return print("Table Klemmbaustein Gefunden")
else:
await cur.execute(query)
await con.commit()
return print("Klemmbaustein table created")
async with connect() as (con, cur):
await cur.execute("SHOW TABLES;")
tables = await cur.fetchall()
table_names = [row[0] for row in tables]
klembausteindb = "klemmbaustein_db"
if klembausteindb in table_names:
return print("Table Klemmbaustein Gefunden")
else:
await cur.execute(query)
await con.commit()
return print("Klemmbaustein table created")
Probier mal das
Blue_Gamer48
Blue_Gamer48OP8mo ago
ich hab jezt entgültig als lösung das:
async def create_klembaustein_db():
async with connect() as (con, cur):
await cur.execute("SHOW TABLES LIKE %s;", (DB_KLEMMBAUSTEIN_NAME,))
table_exists = await cur.fetchone()
if table_exists:
return print(f"Table {DB_KLEMMBAUSTEIN_NAME} wurde gefunden und geladen")
else:
query = f"""CREATE TABLE IF NOT EXISTS {DB_KLEMMBAUSTEIN_NAME} (
klemmbaustein_name VARCHAR(255) NOT NULL,
klemmbaustein_nummer BIGINT NOT NULL,
klemmbaustein_kategorie VARCHAR(255) NOT NULL,
klembaustein_art VARCHAR(255) NOT NULL
)"""
await cur.execute(query)
await con.commit()
return print("Klemmbaustein table created")
async def create_klembaustein_db():
async with connect() as (con, cur):
await cur.execute("SHOW TABLES LIKE %s;", (DB_KLEMMBAUSTEIN_NAME,))
table_exists = await cur.fetchone()
if table_exists:
return print(f"Table {DB_KLEMMBAUSTEIN_NAME} wurde gefunden und geladen")
else:
query = f"""CREATE TABLE IF NOT EXISTS {DB_KLEMMBAUSTEIN_NAME} (
klemmbaustein_name VARCHAR(255) NOT NULL,
klemmbaustein_nummer BIGINT NOT NULL,
klemmbaustein_kategorie VARCHAR(255) NOT NULL,
klembaustein_art VARCHAR(255) NOT NULL
)"""
await cur.execute(query)
await con.commit()
return print("Klemmbaustein table created")
das geht
Bl4cklist🔥System
- Problem selbst gelöst: Der Ersteller dieser Frage hat das Problem selbst gelöst.

Did you find this page helpful?