2 回答

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超7個(gè)贊
以下行{}用變量的內(nèi)容替換table并將結(jié)果存儲(chǔ)在變量查詢中。 format適用于任何字符串:
query = 'SELECT * FROM {}'.format(table)
另一方面,通過(guò)將字符串中的c.execute替換?為列表中的值來(lái)完成的替換類(lèi)型parameters:
c.execute("INSERT INTO TABLE_NAME VALUES(NULL, ?,?)", parameters)
您可以將它們結(jié)合起來(lái)以達(dá)到您想要的效果:
table = input("with what table do you want to work with? ")
query = 'INSERT INTO {} VALUES(NULL, ?, ?)'.format(table)
parameters = [order, theme]
c.execute(query, parameters)

TA貢獻(xiàn)2051條經(jīng)驗(yàn) 獲得超10個(gè)贊
你在混合東西。
Format 是 Python 字符串對(duì)象的一種方法,用于根據(jù)代碼中的變量動(dòng)態(tài)生成字符串。在您的第一個(gè)示例中定義數(shù)據(jù)庫(kù)名稱是正確的。
問(wèn)題標(biāo)記作為查詢值的占位符是 SQL 的特性,并且必須像第二個(gè)示例中那樣在沒(méi)有格式的情況下使用。
要修復(fù)您的代碼,首先使用格式構(gòu)建查詢的字符串模板來(lái)定義數(shù)據(jù)庫(kù)名稱。然后,使用 execute 執(zhí)行結(jié)果字符串并傳遞針對(duì)問(wèn)號(hào)的參數(shù)。
添加回答
舉報(bào)