передача переменных в cur.executescript - PullRequest
0 голосов
/ 11 сентября 2018

В настоящее время у меня есть следующий код, который проверяет, существует ли имя таблицы "Company" в базе данных, а затем создает таблицу с заданными полями.

cur.executescript('''
DROP TABLE IF EXISTS Company;
CREATE TABLE Company (
    id     INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT UNIQUE,
    name VARCHAR2  
)
''')

Я хочу сделать этот запрос общим, вместо того, чтобы просто использовать "Company" в своем запросе, мне нужно взять имена из списка. Возможно ли передать переменную в запросе вместо передачи "Company" в этом примере.

Спасибо!

1 Ответ

0 голосов
/ 11 сентября 2018

Невозможно передать имя переменной таблицы (или имя столбца) в sqlite. (И поскольку executescript принимает ровно один аргумент, невозможно передать переменную в executescript).

Вы можете построить запрос перед выполнением и передать эту переменную в executescript.

И, конечно, если вы берете имена таблиц из списка, вполне вероятно, что вам придется брать и имена столбцов!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...