Pythonを介してMySQLスクリプトを実行しようとすると、エラーが表示され続けます。ここに私のMySQLがあります:MySQLのエラーを取得する
c.execute("""INSERT into DATA(checkup_date)
VALUES(%s) WHERE machine_name = %s
""", (date, machine))
私は間違っていますか?
ProgrammingError: (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 'WHERE machine_name = 'TL-D04'\nVALUES('2011-11-11')' at line 2")
エラーを貼り付けてください。 – Alfabravo
@JimGarrison: '%s'構文は、MySQLdbのパラメータ化されたSQLの仕組みです。特に、 '%s'の前後に引用符がないことに注意してください。 MySQLdbのドキュメントをGoogle検索して、あなたのコメントを捨ててください。 –
_mysqlのソースコードを調べると、C APIはプリペアドステートメントを使用しないため、SQLインジェクションに対して脆弱であると考えられます。 Python MySQLDB APIを使用して回避することはできないようです。一言... –