我正在尝试编写一个程序,我遍历一个字符串列表并使用这些字符串为我的表格命名,但是我不太明白如何正确地逃避一切而不会出现错误。 现在是我的代码:
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()
当我输入字符串而不是表示字符串的变量时,我的代码有效,但使用变量时失败
答案 0 :(得分:0)
你应该在这一行中使用字符串格式
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]