Я пытаюсь выполнить команду "вставить таблицу" с помощью psycopg2.Я создаю командную строку в функции, которая возвращает строку следующей формы:
create table %s ( %s %s , %s %s , %s %s , %s %s , %s %s , %s %s , %s %s , %s %s , %s %s , %s %s , %s %s , primary key %s );
Функция также возвращает набор строковых переменных, которые я хочу использовать для заполнения строк формата:
('games', 'score_loser', 'integer', 'playoffs', 'boolean', 'record_loser', 'integer[]', 'broadcast', 'varchar(20)', 'date', 'date', 'id', 'varchar (30)', 'home_team', 'varchar (50)', 'record_winner', 'integer[]', 'winner', 'varchar (50)', 'loser', 'varchar (50)', 'score_winner', 'integer', 'id')
Но когда я пытаюсь выполнить команду, у меня возникает проблема, заключающаяся в том, что переменные из кортежа помещаются в одинарные кавычки, что приводит к синтаксической ошибке в psycopg2:
psycopg2.ProgrammingError: syntax error at or near "'games'"
LINE1: создать таблицу 'games' ('score_loser' 'integer', 'playoffs' ...
Может кто-нибудь сказать мне, что нужно сделать вместо этого?