2013-07-25 45 views

Trả lời

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

Tôi đã sử dụng returning * chỉ để cho thấy bạn có thể trả về mọi thứ không chỉ là id. Nhưng rõ ràng là nếu bạn chỉ cần id hoặc id và một số cột khác sử dụng các hình thức rõ ràng bạn sẽ giống như trong một danh sách chọn

returning id, name 
+0

Không có ý tưởng tại sao bạn có downvote ngẫu nhiên. Tốt hơn là nên sử dụng 'RETURNING id', nhưng nếu không thì điều này có ý nghĩa hoàn hảo. –

+1

@Craig Có bạn là chính xác và tôi không bao giờ quên bật chế độ giải thích. Đã cập nhật. –

+1

Bỏ phiếu xuống có thể là do "... RETURNING" là một phần mở rộng Postgres, và không phải là SQL chuẩn. Đó có thể là một lời chỉ trích công bằng, nhưng câu hỏi cụ thể liên quan đến Postgres vì ​​vậy đây chắc chắn là câu trả lời tốt nhất. – cvkline