将Sqlite3表名作为Python列表?

时间:2017-06-18 08:16:08

标签: python database sqlite

我想将表名作为python列表。

我试过了。但我看到表名只是我(FOR语句变量)而python说'表已经存在'。

我不知道错误的部门。请回答这个问题。

import sqlite3
con = sqlite3.connect("C:\\Users\\Kun\\Documents\\Dashin\\stock.db")
cursor = con.cursor()

stock_name = ['google','apple','amazon']

for i in stock_name:
    cursor.execute("CREATE TABLE i(Code text)")
    con.commit()

con.close()
Traceback (most recent call last):
  File "C:\Users\Kun\Documents\Dashin\code.py", line 35, in <module>
    cursor.execute("CREATE TABLE i(Code text)")
sqlite3.OperationalError: table i already exists

1 个答案:

答案 0 :(得分:1)

我认为问题在于:

cursor.execute("CREATE TABLE i(Code text)")

您不使用i内的值。改变它:

cursor.execute("CREATE TABLE %s(Code text)" % (i))

此外,代码的执行会创建持久表,因此,如果多次运行此代码,则会出现相同的Table already exists错误。