自己写sql语句执行还原操作,建议修改表引擎支持事务。
MyISAM实际上是对整张表加上了写锁,即使出错,也只是当前语句不执行而已。
如果MyISAM出错,则该条语句不执行。所以说,假如有3条语句要执行,依次分别是 A (更新 InnoDB 表) B (更新 MyISAM 表) C (更新 InnoDB 表),那么:如果B语句出错,则它本身不会执行,无影响,调用Rollback的时候将会回滚A语句。
很少有数据库会不支持回滚吧,你是用的mysql吗?如果是的,请把它默认的存储引擎改为InnoDB类型的就可以回滚了