我在perl编程数据库连接中使用MySQL和DBI模块。在使用mysql时,我得到了如下错误消息:
Issuing rollback() due to DESTROY without explicit disconnect() of
DBD::mysql::db handle db=db;ip=X.X.X.X; at /code/save2db.plx line 104.
DBD::mysql::db DESTROY failed: MySQL server has gone away at
/code/save2db.plx line 104.
(in cleanup) DBD::mysql::db DESTROY failed: MySQL server has gone away
at /code/save2db.plx line 104.我的代码中的第104行是
103 $dbh->disconnect;
104 exit;知道为什么会这样吗?如有任何反馈,我将不胜感激。
发布于 2017-12-05 08:01:45
遗憾的是,
disconnect方法的事务行为没有定义。一些数据库系统(如Oracle和Ingres)将自动提交任何未完成的更改,但其他系统(如Informix)将回滚任何未完成的更改。不使用AutoCommit的应用程序应该在调用断开之前显式地调用commit或rollback。
https://stackoverflow.com/questions/47648225
复制相似问题