我是MySQL新手,想了解更多信息。我正在阅读myseql doc,目前很难理解。
你能解释一下,这些是真还是假?
1 - 在MySQL中,无法撤消更新或删除已经发生的查询。例如,在过去24小时内有1900个查询。没有人可以撤消。
2 - 只能在MySQL中回滚当前事务。
3 - 事务结束后,保存点将被销毁。换句话说,今天上午10点无法创建保存点。
4 - 保存点和回滚仅在当前事务中有效,并且在提交完成后它们将死亡。
问题:
1 - 如果只能回滚当前交易,那么回滚或交易的重点是什么?
如果交易错误,为什么要运行呢?
编辑:
我创建了一个这样的保存点:
start transaction;
savepoint behnam;
commit;
然后运行了一些更新和删除查询。然后尝试回滚到该保存点:
rollback to savepoint behnam
我得到了:
#1305 - SAVEPOINT behnam does not exist
答案 0 :(得分:0)
如果您在插入数据时存储时间戳,则可以触发查询以在过去24小时内删除。但是你无法撤消它们。
是的,在某些情况下是可能的。请参考rollback and commit
我认为保存点只有在被覆盖时才会被删除,所以如果你用与前一个保存点相同的保存点进行事务处理,它将覆盖最后一个保存点,因此你无法返回
是在提交当前事务后删除所有保存点。参考这个 savepoints