2017-05-24 95 views
0

我已做出瞭如下的簡單腳本指定的值:的Python SQLAlchemy的:數據插入NULL值,而不是

#!/usr/bin/env python 
# coding=utf-8 
# -*- Mode: python; c-basic-offset: 4 -*- 

from sqlalchemy import * 

db=create_engine('postgresql://username:[email protected]/hello') 
db.echo = False 
metadata = MetaData(db) 

people=Table('people',metadata) 

# Insert Data 
stmt=people.insert() 
stmt.execute(name="Dimitrios",surname="Desyllas") 
stmt.execute({'name':"Dionysis",'surname':"Arsenis"}) 

#Select Data 
stmt=people.select() 
results=stmt.execute().fetchone() 

for result in results: 
    print "Result:" 
    print result 

使用下面的PostgreSQL表:

hello=# \d people 
           Table "public.people" 
Column |   Type   |      Modifiers      
---------+-----------------------+----------------------------------------------------- 
id  | integer    | not null default nextval('people_id_seq'::regclass) 
name | character varying(60) | 
surname | character varying(60) | 

(轉儲從PSQL)

當我運行腳本時,我得到沒有結果輸出,當我手動選擇查詢SELECT * FROM peopleΙ得到以下結果:

hello=# SELECT * FROM people; 
id | name | surname 
----+------+--------- 
19 |  | 
20 |  | 
(2 rows) 

我想知道爲什麼namesurname列沒有值。通過更換線http://www.rmunn.com/sqlalchemy-tutorial/tutorial.html

回答

0

只是autoload=True表:

people=Table('people',metadata) 

有了:

people=Table('people',metadata,autoload=True) 
劇本的基礎上
相關問題