私は、SQLの結果をpythonコードで出力しようとしています。ここでは、where句のfor述語とは異なる述語を渡そうとしています。しかし、コードはループから最後の値を取って結果を与えるだけです。Pythonから異なるwhere句のSQLを実行する
以下の例では、2つの異なるid値 'aaa'と 'bbb'があります。 id値= 'aaa'のレコードとid値= 'bbb'のレコードが2つあります。 以下のコードは、id値= 'bbb'のid値 'aaa'ではない結果を与えるだけです。
私は何をしているのかを特定するのに役立つ人はいますか?
import pymysql
db = pymysql.connect(host="localhost", user="user1", passwd="pass1", db="db1")
cur = db.cursor()
in_lst=['aaa', 'bbb']
for i in in_lst:
Sql = "SELECT id, val, typ FROM test123 Where id='{inpt}'".format(inpt=i)
print(Sql)
cur.execute(Sql)
records = cur.fetchall()
print(records)
db.close()
私はあなたのfor
ループ内
C:\Python34\python.exe C:/Users/Koushik/PycharmProjects/Test20161204/20170405.py
SELECT id, val, typ FROM test123 Where id='bbb'
(('bbb', 5, '1a'), ('bbb', 17, '1d'))
Process finished with exit code 0
はい、インデントのみでした。 Pythonの構文では非常に奇妙です。 –