Seite 1 von 1
Zeilenumbruch in MySQL-Statement erzwingen
Verfasst: Sonntag 17. Mai 2009, 18:28
von Caldar
Es ist ja eigentlich ein leichtes, in die nächste Zeile zu springen, wenn 1 Zeile vom Platz her nicht ausreicht. (nutze Eclipse mit PyDev als IDE)
Bei MySQL-Statements tue ich mir diesbezüglich aber schwer
Das ganze Statement sieht so aus:
Code: Alles auswählen
cursor.execute("CREATE TABLE IF NOT EXISTS ABC (name_short TEXT, name_long TEXT, eds TEXT, fact INTEGER, loc TEXT, ab TEXT, IMS TEXT")
Wenn ich keinen Zeilenumbruch mache, schreibt er logischerweise alles in 1 Zeile, was natürlich nicht komplett auf den Schirm passt.
Wie kann ich trotzdem einen Umbruch bei obigem Statement erzwingen, so dass es auf 2 (oder mehr) Zeilen aufgeteilt wird? Wenn ich einfach nach einem Komma Return drücke, springt er an den Anfang der nächsten Zeile, komme also so nicht weiter.
Verfasst: Sonntag 17. Mai 2009, 18:34
von derdon
[wiki]Lange Zeilen im Sourcecode[/wiki]
Verfasst: Sonntag 17. Mai 2009, 18:39
von Caldar
Das habe ich schon versucht, da bringt es mir diese Fehlermeldung, wenn ich das SQL-Statement mit \ oder mit Anführungszeichen trennen will:
(1064, "You have an error in your SQL syntax;
Verfasst: Sonntag 17. Mai 2009, 19:01
von BlackJack
@Caldar: Zeig doch mal bwobei dieser Fehler kommt. Kann es sein, dass Du vergessen hast das zwei direkt neben- bzw. nacheinanderstehende Zeichenketteliterale *direkt* zusammegefügt werden? Also 'hallo' 'welt' ergibt nicht etwas 'hallo welt' sondern 'hallowelt'.
Verfasst: Sonntag 17. Mai 2009, 19:01
von b.esser-wisser
In dem SQL-Statement, das du gepostest hast, fehlt 'ne Klammer.
Folgendes geht auf jeden Fall (...bei mir

)
Code: Alles auswählen
import sqlite3 as sql
statement = """CREATE TABLE IF NOT EXISTS ABC (
name_short TEXT,
name_long TEXT,
eds TEXT,
fact INTEGER,
loc TEXT,
ab TEXT,
IMS TEXT
)"""
# ^
con = sql.connect(":memory:")
con.execute(statement)
con.commit()
con.close()
Verfasst: Sonntag 17. Mai 2009, 19:05
von hans
verstehe ich nicht, Was spricht gegen
Code: Alles auswählen
SQLTXT="""CREATE TABLE IF NOT EXISTS ABC (
name_short TEXT,
name_long TEXT,
eds TEXT,
fact INTEGER,
loc TEXT,
ab TEXT,
IMS TEXT""")
cursor.execute(SQLTXT)
Oops, fällt dir nichts auf? Schau mal auf das Ende des Statements. Versuch mal
Code: Alles auswählen
SQLTXT="""CREATE TABLE IF NOT EXISTS ABC (
name_short TEXT,
name_long TEXT,
eds TEXT,
fact INTEGER,
loc TEXT,
ab TEXT,
IMS TEXT)"""
Verfasst: Montag 18. Mai 2009, 09:32
von Caldar
Also ich hab es folgendermaßen probiert und bekomme eine SQL-Fehlermeldung:
Code: Alles auswählen
sql = """CREATE TABLE IF NOT EXISTS WKA (
name_short TEXT, name_long TEXT
lat TEXT lon TEXT)"""
cursor.execute(sql)
Fehler: 1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'lat TEXT lon TEXT)' at line 3")
Verfasst: Montag 18. Mai 2009, 09:36
von Caldar
Also ich hab es folgendermaßen probiert und es funktioniert
Code: Alles auswählen
sql = """CREATE TABLE IF NOT EXISTS WKA (
name_short TEXT, name_long TEXT,
lat TEXT, lon TEXT)"""
cursor.execute(sql)
Habe auch einen Kommafehler übersehen, danke für Eure Hilfe!