Как сделать имя таблицы в sqlite3 с черточкой

Необходимо сделать имя таблицы в sqlite3 с черточкой, хочу её сохранить и назвать так: SHOPPING-CART, но происходит ошибка:

Возникло исключение: OperationalError
near "-": syntax error

Код с помощью которого пытаюсь это сделать:

q = ('''CREATE TABLE IF NOT EXISTS {table} (
        userID INT PRIMARY KEY,
        user-cart TEXT
    )''')

sql.execute(q.format(table='SHOPPING-CART'))

Подскажите в чем проблема, потому что через DB Browser for sqlite3 спокойно можно это сделать.


Ответы (1 шт):

Автор решения: Alpensin

Это плохая идея и не стоит использовать такие имена. Но так можно сделать. Надо такие названия заключать в двойные кавычки

q = ('''CREATE TABLE IF NOT EXISTS {table} (
        userID INT PRIMARY KEY,
        "user-cart" TEXT
    )''')

sql.execute(q.format(table='"SHOPPING-CART"'))
→ Ссылка