У меня есть следующий код, используя pscyopg2:
sql = 'select %s from %s where utctime > %s and utctime < %s order by utctime asc;'
data = (dataItems, voyage, dateRangeLower, dateRangeUpper)
rows = cur.mogrify(sql, data)
Выводится:
select 'waterTemp, airTemp, utctime' from 'ss2012_t02' where utctime > '2012-05-03T17:01:35+00:00'::timestamptz and utctime < '2012-05-01T17:01:35+00:00'::timestamptz order by utctime asc;
Когда я выполняю это, он падает - это понятно, поскольку цитаты вокруг имени таблицы являются незаконными.
Есть ли способ законно передать имя таблицы в качестве параметра или мне нужно выполнить конкатенацию строки (явно предупрежденную против), то есть:
voyage = 'ss2012_t02'
sql = 'select %s from ' + voyage + ' where utctime > %s and utctime < %s order by utctime asc;'
Приветствия за любые идеи.