2010-07-03 47 views
0

对不起,这是一个非常新手的问题。当我试图将一个元组传递给插入语句时,引用似乎消失了。在值域中传递字符串pyscopg2

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)VALUES(0,1,3000248,G,T,102,10 .. psycopg2.ProgrammingError:列“ G”不存在

我觉得我的INSERT语句是错误的地方

回答

0

你缺少周围的VARCHAR处理的单引号在你的字符串格式化:

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) 
+0

没关系啊,这是有道理的,谢谢! – jeffhsu3 2010-07-03 18:23:50