pythonからmysqlに接続し、置換文字列(パラメータ)を渡して処理をしようとしています。
実行するとエラーになってしまうのですが、
どなたかご教授いただけないでしょうか。
###エラーメッセージ
_mysql_exceptions.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 '%s' at line 1")
###ソースコード
# -*- coding: utf-8 -*- import MySQLdb # DBに接続しカーソルを取得する connect = MySQLdb.connect(host='localhost',port=3306,user='test_user',passwd='test_passwd',db='test_db',charset='utf8') cursor = connect.cursor() sql = "select * from test_table where id = %s" whereid = "1" cursor.execute(sql, [whereid]) # select文を実行
###バージョン
python:3.4 mysql:5.5.52
python,mysqlともに勉強中なのですが、これは構文エラーということでしょうか。
mysqlでは上記のように'%s'指定してパラメータを渡すことはできないのでしょうか?
よろしくお願いします。
追記:
http://nonbiri-tereka.hatenablog.com/entry/2014/08/17/104650
こちらのサイトを見ると普通にMySQLでも%s指定使えるようですね・・・。
バージョンとか見直してみます。
回答3件
あなたの回答
tips
プレビュー