InternalError: (pymysql.err.InternalError) (1205, u'Lock wait timeout exceeded; try restarting t
Posted 沧海一粟,何以久远
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了InternalError: (pymysql.err.InternalError) (1205, u'Lock wait timeout exceeded; try restarting t相关的知识,希望对你有一定的参考价值。
在mysql innodb中使用事务,如果插入或者更新出错,一定要主动显式地执行rollback,否则可能产生不必要的锁而锁住其他的操作
我们在使用数据库的时候,可以使用contextlib,这样异常的时候自动回滚,而且最后都会执行关闭操作
from contextlib import contextmanager engine = create_engine(EREBUS_DB_CONNECT_STRING, echo=True, pool_size=150, max_overflow=50, pool_recycle=300) db_session = scoped_session(sessionmaker(autocommit=False, autoflush=False, bind=engine, expire_on_commit=True)) @contextmanager def session(): try: session = db_session() session.expire_on_commit = False yield session except: session.rollback() finally: session.close()
http://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/001478651770626de401ff1c0d94f379774cabd842222ff000
以上是关于InternalError: (pymysql.err.InternalError) (1205, u'Lock wait timeout exceeded; try restarting t的主要内容,如果未能解决你的问题,请参考以下文章
pymysql.err.InternalError: 1075
InternalError: (pymysql.err.InternalError) (1205, u'Lock wait timeout exceeded; try restarting t