Seite 1 von 1

Mysql CREATE TABLE funktioniert nicht

Verfasst: Samstag 9. März 2024, 17:57
von kiaralle
Hi,
ich benötige mal eure Hilfe.
Beim unten aufgeführten Code, bekomme ich immer eine Fehlermeldung.
Kann mich mal einer mit der Nase drauf tippen woran das liegt?
Wenn ich die anzulegenden Felder nicht untereinander stelle, es sind ca. 100, funktioniert das.

Gruß Ralf.
File <unknown>:28
statement ="CREATE TABLE master_register
^
SyntaxError: unterminated string literal (detected at line 28)

Code: Alles auswählen

# Datenbankerstellen
cursor = connection.cursor()
statement ="CREATE TABLE master_register
(
Status int(6),
Vpv1 int(6),
Vpv2 int(6),
Ppv1H int(6),
Ppv1L int(6),
Ppv2H int(6),
Ppv2L int(6),
Buck1Curr int(6),
Buck2Curr int(6),
OP_WattH int(6),
OP_WattL int(6),
OP_VAH int(6),
OP_VAL int(6)
);"
cursor.execute(statement)
connection.commit()

Re: Mysql CREATE TABLE funktioniert nicht

Verfasst: Samstag 9. März 2024, 18:11
von Sirius3
Eine String der mit " eingefasst ist, darf keinen Zeilenumbruch enthalten. Dafür gibt es Strings die in """ eingefasst werden.
Übrigens sollten auch Feldnamen in Datenbanken sprechend benannt sein, Vpv1 oder OP_VAH und all die anderen, sind das nicht.

Re: Mysql CREATE TABLE funktioniert nicht

Verfasst: Samstag 9. März 2024, 19:42
von __blackjack__
Und kann es sein, dass da eine ID fehlt?

Re: Mysql CREATE TABLE funktioniert nicht

Verfasst: Sonntag 10. März 2024, 16:03
von kiaralle
Hi an alle,

Der Tipp mit den """ wegen Zeilenumbruch war richtig :-)
Die Feldnamen ändere ich ab.
phpmyadmin hätte damit keine Probleme.

Gruß Ralf

Re: Mysql CREATE TABLE funktioniert nicht

Verfasst: Montag 6. Oktober 2025, 18:45
von oldboyJR
Wenn man etwas schon createt hat dann kann man es nicht nochmal. Vergewissere dich das es nicht vorhanden ist.

Re: Mysql CREATE TABLE funktioniert nicht

Verfasst: Montag 6. Oktober 2025, 18:49
von sparrow
@oldboyJR: Das hat nichts mit dem Problem hier zu tun.

Re: Mysql CREATE TABLE funktioniert nicht

Verfasst: Sonntag 12. Oktober 2025, 16:17
von oldboyJR
Da fehlt was
vergleiche mit

Code: Alles auswählen

def tabelle_erzeugen():# dieser schritt kann nur einmal pro Datenbank ausgefürt
#werden ansonsten bekommt man nur Fehlermeldungen
    db = mysql.connector.connect(
        host="localhost",
        user="root",
        password="",
        database="Boomer_obj",
        port="3306")
    cursor = db.cursor()
    # Tabelle 'benutzer' erzeugen
    sqlStmt = "CREATE TABLE benutzer (" \
        "id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY," \
        "vorname VARCHAR(30) NOT NULL," \
        "nachname VARCHAR(30) NOT NULL" \
        ")"
    cursor.execute(sqlStmt)
    for tbl in cursor:
            print(tbl)