Каков правильный синтаксис для создания имени таблицы как переменной?Python

Программы на Python
Anonymous
Каков правильный синтаксис для создания имени таблицы как переменной?

Сообщение Anonymous »

Пользователь может создать таблицу для ранжирования песен. Он проверяет, существует ли уже система ранжирования для пользователя, если нет, то создает новую таблицу. Я хочу, чтобы имя системы коррелировало с идентификатором пользователя.

Код: Выделить всё

@app.route("/setup", methods=["GET", "POST"])
def setup():
if request.method == "POST":
user_id = str(session["user_id"])
system_info = ()

# Find or create system table
while not system_info:
cur.execute("SELECT system_name, ready, modified FROM systems WHERE user_id = ?", user_id)
system_info = cur.fetchone()
if not system_info:
system_name = "system" + user_id
cur.execute("INSERT INTO systems (user_id, system_name) VALUES (?, ?)", (user_id, system_name))
cur.execute(
"""
CREATE TABLE ? (
attribute_name TEXT NOT NULL,
type TEXT NOT NULL,
min INTEGER NOT NULL DEFAULT(0),
max INTEGER NOT NULL DEFAULT(0),
length_depend BOOLEAN DEFAULT(FALSE)
)
"""
, system_name)
Я получаю это из строки создания таблицы:

sqlite3.OperationalError: рядом с «?»: синтаксическая ошибка

Я попробовал system_name = str("system" + user_id") и поместил system_name в формате кортежа как окончательный параметр для cur.execute, я получил одно и то же сообщение об ошибке при обоих изменениях.

Подробнее здесь: https://stackoverflow.com/questions/788 ... s-variable

Вернуться в «Python»