2010-07-03 113 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