创建sqlite表时来自python的用户输入



我正在编写一个食谱程序,我想用食谱的名称命名每个表。我如何使用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);

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

不要在创建表后更改名称,而应该以您想要的名称创建表。

你应该考虑这样做:

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)')

最新更新