MySQLに関連してデータベースを管理するためにPythonスクリプトを使い始めました。 私は構文エラーの問題に直面しており、その理由を理解できないようです。MySQL + Python on Raspbian Syntax Error
私は次のコードを実行すると:
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
をすべてがうまくているので、私は私のテーブルの行を取得することができます。 次のように私がINSERTなステートメントを使用する場合しかし:
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
を私は構文エラーを取得し、私はそれが「近く 'Collumn1、collumn2)値(23:EA:4A:7F:A1、誰か)' だと言うで1行目
私はドキュメントをチェックして、正しい構文を使用していると思います。 複数のフィールドタイプ(varchar、text、...)を使用して、最後にセミコロンを付けてみましたか。 collumn1はVARCHAR(14) collumn1でこのようにそれを試してみてくださいテキスト のdebian-のlinux-gnuのために14.14按分5.5.57版のMySQLを使用して(armv71)
値の前後に引用符を入れてみてください – Don
INSERTの問題とは関係がありません。 'for'ループ内の最後の' print'ステートメントは*インデントされていなければなりません。インデントはPythonでは重要です。また、 'print'は古いPython 2を使用していることを示しています。その場合は、SOの質問(デフォルトのタグはPython 3と仮定します)でタグ付けする必要があります。 – cdarke
@ fodma1 tablenameとparanthesisの間のスペースで試してみましたが、それと同じエラーです。 – Zeka