MySQL中SQL Server的@@ error是否有等​​效项

我想对生产数据库和更新的小开发人员运行更新查询,以使其尽可能安全。我正在做以下事情

BEGIN TRANSACTION

UPDATE table_x SET col_y = 'some_value'

.

.

.

IF (@@error <> 0)

BEGIN

ROLLBACK

END

ELSE

BEGIN

COMMIT

END

上面的代码应该可以在SQL Server中工作,但是我需要针对MySQL数据库进行工作。

编辑:对不起,有多个要执行的语句。是的,我知道不需要在事务中包装单个查询。

回答:

我认为这没有必要,因为存在隐式提交/回滚的概念。

从MySQL文档:

默认情况下,MySQL在启用了自动提交模式的情况下为每个新连接启动会话,因此,如果该SQL语句未返回错误,则MySQL在每个SQL语句之后执行一次提交。如果一条语句返回错误,则提交或回退行为取决于该错误。请参见第13.6.13节“

InnoDB错误处理”。

以上是 MySQL中SQL Server的@@ error是否有等​​效项 的全部内容, 来源链接: utcz.com/qa/406038.html

回到顶部