2012-11-03 24 views
6
import re 
from sqlalchemy import * 

db = create_engine('sqlite:///code.db') 

db.echo = True 

metadata = MetaData(db) 

halo4 = Table('emblem_codes', metadata, autoload=True) 

######################### 
## Get One Unused Code ## 
######################### 

s = select([halo4.c.code, halo4.c.status=='None']) 
result = s.execute() 

for row in result: 
    print row 

Mã của tôi trả về tất cả 80999 kết quả. Tôi chỉ muốn một. Whats cách tốt nhất để làm điều này là gì?chỉ một hàng từ sqlalchemy

này một mẫu code.db:

(u'JRQRY-MYHW3-D67GR-7YWFF-CRJ31', None) 
(u'9D7DR-4WFDY-VG49F-3DYCG-7DYT5', None) 
(u'QR9WT-P3CTM-PW4WW-34JJ4-RFKV7', None) 
(u'7FMXQ-H97TC-FFYC6-XHXFV-Y7KR2', None) 
(u'VKHXW-29WC4-4PF4Y-2QMJ4-4W2H4', None) 
+0

tôi không biết làm thế nào để sử dụng 'đầu tiên()' –

+0

Mà một trong những bạn muốn? – Keith

+0

Người đầu tiên trong một loại. –

Trả lời

8

Nếu bạn muốn nhận được chỉ là một hàng từ một đối tượng ResultProxy (mà là kết quả của tuyên bố s.execute() của bạn, bạn cần phải sử dụng phương pháp fetchone():

s = select([halo4.c.code, halo4.c.status=='None']) 
result = s.execute() 
one_row = result.fetchone() 
another_row = result.fetchone() 
Các vấn đề liên quan