当前位置: 首页 > 面试题库 >

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

微生运浩
2023-03-14
问题内容

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

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错误处理”。



 类似资料:
  • 问题内容: 关闭。 此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗? 更新问题,使其成为Stack Overflow 的主题。 2年前关闭。 “ Microsoft SQL Server Profiler是SQL Trace的图形用户界面,用于监视数据库引擎或Analysis Services的实例。” 在开发,测试以及调试数据库应用程序问题时,我发现使用SQL Server Pr

  • 问题内容: 我们需要查看对象在Javascript中具有哪些方法/字段。 问题答案: 正如其他人所说,您可以使用Firebug,这将使您在Firefox上无后顾之忧。Chrome和Safari都具有内置的开发人员控制台,该控制台具有与Firebug控制台几乎相同的界面,因此您的代码应可跨这些浏览器移植。对于其他浏览器,有Firebug Lite 。 如果您不适合使用Firebug,请尝试以下简单脚

  • 请注意,我使用以下代码得到了相同的结果: 所以问题是,fooObservable直到订阅了PublishSubject之后才订阅PublishSubject, 是否有一种方法可以在第一次订阅FooObservable之后立即运行代码? 如果请求与已经订阅的请求匹配,那么observable应该在订阅时立即提供最新的匹配值。 当没有订阅者时,我需要取消我包装的服务的订阅。

  • 问题内容: 使用以下代码: 我得到以下html: 我怎样才能没有任何标签?是否有InnerText等效项? 问题答案: 所有你需要的是:

  • 问题内容: 有许多问题询问LINQ是否有Java等效项。但是他们中的大多数人错误地指出没有任何东西。 问题答案: 该库提供了完整的LINQ API:https : //github.com/nicholas22/jpropel-light 它使用功能样式的构造来做到这一点,并且还使用延迟执行。

  • 问题内容: 我刚刚开始学习SQLite。能够看到表格的详细信息(如MySQL的表格)会很高兴。不够好,因为它仅具有基本信息(例如,它不会显示列是否是某种字段)。SQLite有办法吗? 问题答案: 在SQLite的命令行实用程序有一个命令,显示你的创建语句。