2013-07-25 2 views

Répondre

28
res = conn.exec("INSERT INTO names (name) VALUES ('john') returning *") 
res[0] 
res[0]['id'] 

J'utilisé returning * juste pour montrer que vous pouvez retourner tout non seulement l'id. Mais évidemment, si vous avez seulement besoin de l'id ou de l'id et une autre colonne utilisez la forme explicite comme dans une liste de sélection

returning id, name 
+0

Aucune idée pourquoi vous avez obtenu la liste négative. Il est préférable d'utiliser 'RETURNING id', mais sinon cela prend tout son sens. –

+1

@Craig Oui, vous avez raison et je ne devrais jamais oublier d'activer le mode d'explication. Actualisé. –

+1

Le vote négatif a pu être dû au fait que "... RETURNING" est une extension Postgres et non SQL standard. Ce qui pourrait être une critique juste, mais la question se référait spécifiquement à Postgres donc c'est certainement la meilleure réponse. – cvkline

Questions connexes