我想将表名作为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
答案 0 :(得分:1)
我认为问题在于:
cursor.execute("CREATE TABLE i(Code text)")
您不使用i
内的值。改变它:
cursor.execute("CREATE TABLE %s(Code text)" % (i))
此外,代码的执行会创建持久表,因此,如果多次运行此代码,则会出现相同的Table already exists
错误。