鍍金池/ 問答/Python  數(shù)據(jù)庫/ sqlalchemy 對數(shù)據(jù)庫的修改

sqlalchemy 對數(shù)據(jù)庫的修改

engine = create_engine("mysql+pymysql://root:111@localhost/xxx", encoding='utf-8', echo=True)
Session_class = sessionmaker(bind=engine)
Session = Session_class()

修改一條記錄
user = Session.query(User).filter_by(id=1).first()
user.name = "aa_changed"

插入一條記錄
user2 = User(name='bb', password='111')
Session.add(user2)

實驗一:
不提交,也不查詢。我到數(shù)據(jù)庫查看沒有變化

實驗二:
不提交,但我做了一次查詢操作。沒想到寫入到數(shù)據(jù)庫了!
Session.query(User).filter(User.name.like('zx*')).first()
Session.query(User).filter(User.name == 'zhl').first()
就是這里,我想請教一下:為什么"只查詢不提交"也能修改數(shù)據(jù)庫???????

回答
編輯回答
來守候
Session.commit()

你缺少這句命令。

另外,學 sqlalchemy,送你一個福利——https://github.com/eastossifr...

2017年10月8日 08:11