2 SQL语句:1个无效,1个有效,是否有效执行?

时间:2013-04-27 15:37:55

标签: mysql sql sql-injection

比如说我有这个MySQL声明:

select somefield from table where otherfield='some')%$#@%; insert into table.....

即使第一个语句抛出错误,是否会执行insert语句?

1 个答案:

答案 0 :(得分:1)

在SQL Server中,有一个名为XACT_ABORT的概念,当设置为ON时,会导致服务器在发生错误时中止整个批处理。我的SQL内置了这个功能。

检查here

来自MySQL Docs

  

默认情况下,MySQL会为每个新连接启动会话   启用自动提交模式,因此MySQL在每个SQL之后执行提交   声明如果该声明没有返回错误。如果声明   返回错误,提交或回滚行为取决于   错误。请参见第13.6.13节“InnoDB错误处理”。