MySQL Tabellenname von Entry

Fragen zu Tkinter.
Antworten
vierkant
User
Beiträge: 14
Registriert: Sonntag 3. April 2022, 10:24

Hallo.

Mit folgendem Code kann man eine Tabelle in Mysql erstellen:

Code: Alles auswählen

mycursor.execute("CREATE TABLE customers (jahr VARCHAR(255), wert VARCHAR(255))")
in diesem Beispiel trägt die Tabelle den Namen "customers"

Wie muss ich den Code umschreiben wenn ich denn Namen der Tabelle aus dem Inhalt einer Textbox (Entry) verwenden will?

Herzlichen Dank im Vorraus, lg Jürgen Jürgen
Sirius3
User
Beiträge: 17711
Registriert: Sonntag 21. Oktober 2012, 17:20

Tabellennamen sind fix. Warum denkst Du, dass Du den Namen variabel haben mußt?
Ein Jahr ist eine Zahl und kein Text, der Typ in der Tabelle ist falsch. Es fehlt ein Primary-Key. `wert` ist etwas sehr allgemein. Um was für einen Wert handelt es sich denn?
vierkant
User
Beiträge: 14
Registriert: Sonntag 3. April 2022, 10:24

Ich lege eine Liste an mit Mitgliedern.
Jedes Mitglied soll eine eigene Tabelle haben in der dann die bezahlten Mitgliedsbeiträge gesammelt werden
__deets__
User
Beiträge: 14494
Registriert: Mittwoch 14. Oktober 2015, 14:29

Das macht man so nicht. Mitglied ist einfach genauso eine Spalte.
vierkant
User
Beiträge: 14
Registriert: Sonntag 3. April 2022, 10:24

Keine Ahnung wie ich das in die bestehende Liste eintragen könnte:

Mitglieder:
Sepp I oberhummer I 13.01.1979 usw.......
Franz I mayr I 18.02.1980 usw.......
Usw..........

Mitgliedsbeiträge / Sepp oberhummer:
2019 I 20€
2020 I 20€
2021 I 30€
usw.......
Benutzeravatar
sparrow
User
Beiträge: 4164
Registriert: Freitag 17. April 2009, 10:28

@vierkant: Du verwechselst Tabellen in Datenbanken mit Tabellen in einer Tabellenkalkulation.

Such mal nach "Normalisierung" im Bezug auf Datenbanken. Wenn du das verstanden hast, verstehst du auch, wie Relationen in Datenbanken funktionieren.

Du brauchst also eine Tabelle, die Mitglieder und eine Tabelle Beiträge. Und in denen gibt es die Felder Jahr (das ist kein Text!), Betrag (das ist kein Text!) und ein Fremdschlüssel mit der ID des Mitgliedes.
Antworten