Hi,I can't use transaction with class Insert()/Update,someone can help me ?thanks!
When i run Insert().execute() then will auto commit the transaction,I don't want it auto commit... ############code######################## import sqlalchemy as sa from sqlalchemy import MetaData from sqlalchemy.orm import scoped_session, sessionmaker from sqlalchemy import orm engine = sa.create_engine("mysql://r...@127.0.0.1/test? charset=utf8",pool_recycle=3600,echo=True,convert_unicode=True,pool_threadlocal=True,pool_size=20) session = scoped_session(sessionmaker())() metadata = MetaData() metadata.bind = engine if __name__=="__main__": t_table = sa.Table("t", metadata, autoload=True,autoload_with=engine) class T(object): pass orm.mapper(T, t_table) """ mysql> desc t; +-------+---------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------+---------+------+-----+---------+----------------+ | id | int(11) | NO | PRI | NULL | auto_increment | | pv | int(11) | NO | | 0 | | +-------+---------+------+-----+---------+----------------+ 2 rows in set (0.00 sec) """ session.begin(subtransactions=True) #Session.begin(subtransactions=True) res = Insert(t_table,updateCol="pv=pv+1").execute(id=None,pv=6) print res.last_inserted_ids() res = Insert(t_table,updateCol="pv=pv+1").execute(id=None,pv=6) print res.last_inserted_ids() session.rollback() ##############out put############################## 2009-10-29 14:00:48,170 INFO sqlalchemy.engine.base.Engine.0x...c64c SHOW VARIABLES LIKE 'character_set%%' 2009-10-29 14:00:48,173 INFO sqlalchemy.engine.base.Engine.0x...c64c () 2009-10-29 14:00:48,177 INFO sqlalchemy.engine.base.Engine.0x...c64c SHOW VARIABLES LIKE 'sql_mode' 2009-10-29 14:00:48,178 INFO sqlalchemy.engine.base.Engine.0x...c64c () 2009-10-29 14:00:48,209 INFO sqlalchemy.engine.base.Engine.0x...c64c SHOW CREATE TABLE t 2009-10-29 14:00:48,209 INFO sqlalchemy.engine.base.Engine.0x...c64c () 2009-10-29 14:00:48,210 INFO sqlalchemy.engine.base.Engine.0x...c64c SHOW VARIABLES LIKE 'lower_case_table_names' 2009-10-29 14:00:48,210 INFO sqlalchemy.engine.base.Engine.0x...c64c () 2009-10-29 14:00:48,214 INFO sqlalchemy.engine.base.Engine.0x...c64c INSERT INTO t (id, pv) VALUES (%s, %s) 2009-10-29 14:00:48,214 INFO sqlalchemy.engine.base.Engine.0x...c64c [None, 6] 2009-10-29 14:00:48,215 INFO sqlalchemy.engine.base.Engine.0x...c64c COMMIT 2009-10-29 14:00:48,216 INFO sqlalchemy.engine.base.Engine.0x...c64c INSERT INTO t (id, pv) VALUES (%s, %s) 2009-10-29 14:00:48,216 INFO sqlalchemy.engine.base.Engine.0x...c64c [None, 6] 2009-10-29 14:00:48,216 INFO sqlalchemy.engine.base.Engine.0x...c64c COMMIT --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To post to this group, send email to sqlalchemy@googlegroups.com To unsubscribe from this group, send email to sqlalchemy+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en -~----------~----~----~----~------~----~------~--~---