[英]Making a dynamic table name in python mySQLdb
我正在嘗試編寫一個程序,在該程序中我遍歷字符串列表並使用這些字符串為表命名,但是我不太了解如何正確地對所有內容進行轉義而不會出錯。 現在是我的代碼:
cursor = db.cursor()
cursor.execute('DROP TABLE IF EXISTS %s' %data[1])
0L
sql ="""CREATE TABLE %s (IP TEXT, AVAILIBILITY INT)""" %data[1]
cursor.execute(sql)
0L
for key in data[0]:
cursor.execute("""INSERT INTO %s VALUES (%s,%s)""" %(data[1],key,data[0][key]))
db.commit()
1L
cursor.execute("""SELECT * FROM %s""" %data[1])
1L
print cursor.fetchall()
((188L, 90),)
db.close()
當我輸入字符串而不是代表字符串的變量時,我的代碼有效,但使用變量時失敗
您應該在這一行中使用字符串格式
sql ="""CREATE TABLE data[1] (IP TEXT, AVAILIBILITY INT, AP TEXT )"""
當您在其上調用cur.execute(sql)方法時,這將引發errorclass或/和errorvalue錯誤。
嘗試這樣的事情:
sql ="""CREATE TABLE %s (IP TEXT, AVAILIBILITY INT, AP TEXT )""" %data[1]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.