Передача строк в поле значения в pyscopg2 - PullRequest
0 голосов
/ 03 июля 2010

Извините, это очень новый вопрос. Когда я пытаюсь передать кортеж в оператор вставки, цитаты, кажется, исчезают.

line=[0, 1, 3000248, 'G', 'T', 102, 102, 60, 25]
SNPinfo = tuple(line) 
curs.execute("""INSERT INTO akr (code, chrID, chrLOC, refBase, conBase, \
consqual, SNPqual, maxMapqual, numbReadBases) \
VALUES (%s,%s,%s,%s,%s,%s,%s,%s,%s)""", SNPinfo) 

Я получаю ошибку : LINE 1: ... axMapqual, numbReadBases) ЗНАЧЕНИЯ (0,1,3000248, G, T, 102,10 .. psycopg2.ProgrammingError: столбец "g" не существует

Я думаю, что мое утверждение вставки где-то неверно.

1 Ответ

0 голосов
/ 03 июля 2010

Вам не хватает одинарных кавычек вокруг varchars при форматировании строки:

curs.execute("""INSERT INTO akr (code, chrID, chrLOC, refBase, conBase, \
consqual, SNPqual, maxMapqual, numbReadBases) \
VALUES (%s,%s,%s,'%s','%s',%s,%s,%s,%s)""", SNPinfo) 

Это даст:

INSERT INTO akr (code, chrID, chrLOC, refBase, conBase,
consqual, SNPqual, maxMapqual, numbReadBases) 
VALUES (0,1,3000248,'G','T',102,102,60,25)
...