やりたいこと
pythonのmysql.connectorを使い、selectでローカルDBからデータをしたい
環境
Python ver3.6
Mysql ver5.7
MAMP ver5.01
該当のソースコード
cursor.executeするときに、変数が1つの時もタプルにしないといけないと調べてわかったから、変換して引数わたしたけど、エラーは解消されなかった
python
1# test.py 2 3from db import mydb 4 5db = mydb() 6sid = '1' 7sids = db.select_similarity(tuple(sid)) 8#sids = [(1, '183,234,182,172,443,196,236,187,170,208')] 9sids_arr = s_itemsid[0][1].split(',') 10#sids_arr = ['183', '234', '182', '172', '443', '196', '236', '187', '170', '208'] 11for i in range(len(s_arr)): 12 s_item = db.select_item(tuple(sids_arr[0]))←ここでエラー
# db.py import mysql.connector def __init__(self): self.config = { 'user': '*****', 'password': '*****', 'unix_socket': '*****', 'database': '*****', 'raise_on_warnings': *****, } self.conn = mysql.connector.connect(**self.config) self.cursor = self.conn.cursor() ---省略--- def select_item(self,id): cursor = self.cursor query = "select id,title,genre,tags,released_t from t_item where id=%s;" cursor.execute(query,id) return cursor.fetchall()
発生している問題・エラーメッセージ
Traceback (most recent call last): File "/Applications/MAMP/htdocs/***/test.py", line 15, in <module> s_ite = db.select_item(tuple(sids_arr[0])) File "/Applications/MAMP/htdocs/**/db.py", line 106, in select_s_item cursor.execute(query,id) File "/Users/**/Library/Python/3.6/lib/python/site-packages/mysql/connector/cursor.py", line 543, in execute "Not all parameters were used in the SQL statement") mysql.connector.errors.ProgrammingError: Not all parameters were used in the SQL statement

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/09/20 13:29