创建SQLite表时来自Python的用户输入

pcww981p  于 2023-04-12  发布在  SQLite
关注(0)|答案(1)|浏览(145)

我正在写一个配方程序,我想用配方的名字来命名每个表。我如何在下面的用户输入中使用newTable?我可以像下面这样重命名表,但它不允许名称有空格。

import sqlite3
connection = sqlite3.connect("recipes.db")
cursor = connection.cursor()

# To insert table
newTable = input("Recipe: ")

#input headers as list
cursor.execute("CREATE TABLE newTable (ingredient TEXT, amount INTEGER, measure TEXT)") 

# rename table
cursor.execute("ALTER TABLE newTable RENAME TO ?") (newTable);

我尝试在创建后重命名表,但它不允许空格。

woobm2wo

woobm2wo1#

创建表后不应更改名称,而应使用所需的名称创建表。
你应该考虑这样做:

import sqlite3
connection = sqlite3.connect("recipes.db")
cursor = connection.cursor()

newTable = input("Recipe: ")

cursor.execute(f'CREATE TABLE "{newTable}" (ingredient TEXT, amount INTEGER, measure TEXT)')

相关问题