比如说我有这个MySQL声明:
select somefield from table where otherfield='some')%$#@%; insert into table.....
即使第一个语句抛出错误,是否会执行insert语句?
答案 0 :(得分:1)
在SQL Server中,有一个名为XACT_ABORT的概念,当设置为ON时,会导致服务器在发生错误时中止整个批处理。我的SQL内置了这个功能。
检查here
来自MySQL Docs,
默认情况下,MySQL会为每个新连接启动会话 启用自动提交模式,因此MySQL在每个SQL之后执行提交 声明如果该声明没有返回错误。如果声明 返回错误,提交或回滚行为取决于 错误。请参见第13.6.13节“InnoDB错误处理”。