相关疑难解决方法(0)

COMMIT语句(在SQL中)是否会失败?怎么样?

使用数据库事务时,会导致COMMIT事务中的最终语句失败的可能条件(如果有的话)是什么,假设事务中的所有语句都已经执行而没有问题?


例如......假设您有一些两阶段三阶段提交协议,其中您执行一堆语句,然后等待一些主进程告诉您何时可以最终提交事务:

-- <initial handshaking stuff>
START TRANSACTION;
-- <Execute a bunch of SQL statements>
-- <Inform master of readiness to commit>
-- <Time passes... background transactions happening while we wait>
-- <Receive approval to commit from master (finally!)>
COMMIT;
Run Code Online (Sandbox Code Playgroud)

如果您的代码到达最终的COMMIT语句并将其发送到您的DBMS,您是否会在该语句中收到错误(唯一性问题,数据库已满等)?什么错误?为什么?它们是如何出现的?它会根据您运行的DBMS而有所不同吗?

sql transactions

25
推荐指数
4
解决办法
1万
查看次数

如果PHP PDO事务失败,我必须显式回滚()吗?

我见过一个代码示例,其中有人做了

$dbh->rollback();
Run Code Online (Sandbox Code Playgroud)

当发生PDOException时.我以为数据库会在这种情况下自动回滚?

php mysql pdo

6
推荐指数
1
解决办法
1627
查看次数

标签 统计

mysql ×1

pdo ×1

php ×1

sql ×1

transactions ×1