私はmysql SQLを呼び出すpythonスクリプトを作成しようとしています。ループでSQLを実行するPythonスクリプト
2番目のクエリを実行するために、最初のクエリ結果に依存しています。問題は、それがエラーを投げているということです。
エラー:それは例えば、dictsのリストを返しますので、cursor2.execute(field_sql、ID)
import boto3
import importlib
import psutil
import pymysql
import pymysql.cursors
import subprocess
import sys
rdsConn = pymysql.connect(host = 'XXXX'),
db = 'XXXX',
user = 'XXXX',
password = 'XXXX',
charset = 'utf8mb4',
cursorclass=pymysql.cursors.DictCursor)
cursor1 = rdsConn.cursor()
cursor2 = rdsConn.cursor()
name = 'Test'
sql = "select id from Table1 where name = %s"
cursor1.execute(sql,name)
result = cursor1.fetchall()
for id in result:
field_sql= "select columnname from Table2 where id = %s"
cursor2.execute(field_sql,id)
fieldresult = cursor2.fetchall()
for fieldrow in fieldresult:
print(fieldrow)
cursor1.close()
cursor2.close()
rdsConn.close()
正確にどのようなエラーを隠し?スタックトレースを投稿してください。 – mata
最初のクエリから得た結果を調べてみましたか?それはdictを返すので、あなたのforループはキーを反復処理しますが、その代わりに値を求めたいでしょうか? –