내 코드가 쿼리를 실행 한 다음 결과 집합의 각 행에 대해 해당 행의 값을 사용하여 다른 쿼리를 실행하려고합니다. MySQLdb.execute()에 매개 변수 값을 삽입하는 문제
import MySQLdb as mdb
try:
con = mdb.connect('localhost', 'root', '', 'cccorder_uk');
with con:
cur = con.cursor()
cur.execute("SELECT code, name, box_size, commodity_code, country_of_origin FROM cccorder_uk.stocks")
rows = cur.fetchall()
for row in rows:
# split the code and take colour and size
code = row[0].split('-')
product_code = code[0]
sql = """SELECT stock_groups.name FROM stock_groups_styles_map, stock_groups WHERE stock_groups_styles_map.style='%s'""" % (product_code,)
cur.execute(sql)
results = cur.fetchall()
print results
except mdb.Error, e:
print "Error %d: %s" % (e.args[0],e.args[1])
sys.exit(1)
finally:
if con:
con.close()
내가 results
를 인쇄
product_code
는, 예를
sql = """SELECT stock_groups.name FROM stock_groups_styles_map, stock_groups WHERE stock_groups_styles_map.style='EP22'"""
를 들어,이 결과를 반환하는 경우 내가 기대합니다.
왜 코드가 빈 튜플을 인쇄합니까?
넣어 '인쇄 sql' 후 내부'cur.execute' 또는'인쇄 cur._executed' 그 후 그것을 게시하시기 바랍니다 – Korem
' 전 stock_groups_styles_map FROM SELECT stock_groups.name는 \t \t \t \t 을 stock_groups WHERE stock_groups_styles_map.style = 'EP01'' – khinester
때 하드 코드 당신에게 전자를 수행'product_code', 쿼리를 실행 하시겠습니까? 파이썬에서 MySQLdb를 사용하고 있습니까? 아니면 Workbench와 같은 다른 환경에서? – Air