2010-07-03 7 views
0

Désolé, c'est une question très newbie. Lorsque j'essaie de passer un tuple dans une instruction d'insertion, les citations semblent disparaître.Passant des chaînes dans le champ de valeur dans 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) 

L'erreur que je reçois est: LIGNE 1: ... axMapqual, numbReadBases) VALUES (0,1,3000248, G, T, 102,10 .. psycopg2.ProgrammingError: colonne " g »n'existe pas

Je pense que ma déclaration d'insertion est faux quelque part

Répondre

0

Il vous manque les guillemets simples autour des varchars sur votre mise en forme de chaîne:.

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) 

Ceci produirait:

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

Ah bien, qui fait sens, merci! – jeffhsu3