在psycopg2中传递值字段中的字符串

时间:2010-07-03 02:40:30

标签: python psycopg2

对不起,这是一个非常新手的问题。当我试图将一个元组传递给一个插入语句时,引号似乎消失了。

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) 

我得到的错误是: 第1行:... axMapqual,numbReadBases)VALUES(0,1,3000248,G,T,102,10 .. psycopg2.ProgrammingError:列“g”不存在

我认为我的插入语句在某处错了。

1 个答案:

答案 0 :(得分:0)

您缺少字符串格式的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)