Ich beginne jetzt Python-Skripte zu verwenden, um Datenbanken in Verbindung mit MySQL zu verwalten. Ich stehe vor einem Problem mit dem Syntax-Fehler und kann nicht herausfinden, warum.MySQL + Python auf Raspbian Syntax Fehler
Wenn ich den folgenden Code:
import MySQLdb
import time
conn = MySQLdb.connect("localhost","username","password","DataBase")
c= conn.cursor()
c.execute("SELECT * FROM table")
rows=c.fetchall()
for eachRow in rows:
print eachRow
ich die Zeilen in meinem Tisch bekommen, so dass alles in Ordnung ist. Allerdings, wenn ich die INSERT-Anweisung wie folgt verwenden:
import MySQLdb
import time
conn = MySQLdb.connect("localhost","username","password","DataBase")
c= conn.cursor()
c.execute("INSERT INTO table(collumn1,collumn2) VALUES(23:EA:4A:7F:A1,Someone)")
c.execute("SELECT * FROM table")
rows=c.fetchall()
for eachRow in rows:
print eachRow
ich die Syntaxfehler erhalten und ich sage, dass es „in der Nähe von 'Collumn1, collumn2) Werten (23: EA: 4A: 7F: A1, Someone)' an Linie 1"
ich habe die Dokumentation überprüft und ich glaube, die richtige Syntax verwenden. Habe versucht, mehrere Feldtypen (varchar, text, ...) und mit Semikolon am Ende oder nicht. collumn1 ist varchar (14) collumn1 ist Text MySQL Ver 14.14 Distrib 5.5.57 für debian-linux-gnu (armv71)
Versuchen Sie Anführungszeichen um Werte – Don
nicht im Zusammenhang mit Ihrer INSERT Frage stellen: Ihre endgültige 'print' Anweisung innerhalb der' for' Schleife sollte durch 4 Leerzeichen *, vorzugsweise eingekerbt werden *. Einzug ist wichtig in Python. Außerdem zeigt Ihr 'print' an, dass Sie das alte Python 2 verwenden. In diesem Fall sollten Sie es als solches in einer SO-Frage markieren (das Standard-Tag setzt Python 3 voraus). – cdarke
@ fodma1 Kein Glück damit, versucht mit dem Abstand zwischen Tabellenname und Paranthesis und immer noch gleichen Fehler. – Zeka