所以我试图弄清楚如何使用变量命名表和行。我已经找到了如何使用变量命名表的部分。我还尝试使用以下方法: stackoverflow post 连同我已经拥有的代码,但是没有解决。
要使其更加清楚:
tableName = "fruits"
rowName1 = "apple"
rowName2 = "pineapple"
rowName3 = "cranberry"
rowName4 = "banana"
并在CREATE TABLE中使用所有这些内容。
我已经拥有的代码:(在其中使用变量命名表的地方)
sql_cmd = '''CREATE TABLE {}(test, test2, test3, test4)'''.format(tableName)
dataBaseConnection.execute(sql_cmd)
答案 0 :(得分:0)
这里的问题是,您将命令传递给数据库的连接,而不是游标,并且从不提交更改。您的总代码(减去变量定义)应如下所示:
import sqlite3
conn=sqlite3.connect("yourdatabase.db")
c=conn.cursor()
sql_cmd = '''CREATE TABLE {}({}, {}, {}, {})'''.format(
tableName, rowName1, rowName2, rowName3, rowName4)
c.execute(sql_cmd)
conn.commit()
(我还使用了.format功能来考虑您的变量)。