我構建動態查詢,以便事先不知道表名和表字段。我這樣做是爲了以編程方式將數據從一個任意表格導出到另一個表格。所以,我的算法獲取作爲源表的參數名稱,目標表的名稱,並從一個系統表獲取字段映射(從一個表到另一個表)。我幾乎做到了。我內置從源表中選擇查詢,所以我可以做獲取查詢結果作爲元組進行替換
cursor.execute(selectquery)
for row in cursor:
... do something with rows
再說我爲目標表插入查詢的模板,所以它看起來像
insert into sourcetable (attr1,attr2,attr3) values (%s,%s,%s) # let me call it template_query
現在我想替換這些%s,%s,%s與select查詢返回的值。像這樣的東西(這不起作用,但演示了我想要的):
cursor.execute(selectquery)
for row in cursor:
final_query = template_query % row # <- I want this substitution
cursor2.execute(final_query)