用户如何启动新的MySQL事务?

通过运行命令START TRANSACTION,用户可以启动新的MySQL事务。事务的行为将取决于SQL AUTOCOMMIT模式。默认模式是“ AUTOCOMMIT ON”模式,其中每个MySQL语句都被视为一个完整的事务,并在完成时默认提交。可以通过将会话变量AUTOCOMMIT设置为1来启动它,如下所示-

SET AUTOCOMMIT = 1mysql> SET AUTOCOMMIT = 1;

如果用户想要更改此类MySQL事务的行为,则他/她可以设置“ AUTOCOMMIT OFF” SQL模式,在该模式下,随后的一系列MySQL语句就像事务一样,并且在发出明确的COMMIT语句之前,不提交任何活动。在这种模式下,新会话的第一个可执行语句将隐式启动新的多语句事务。可以通过将会话变量AUTOCOMMIT设置为0来启动它,如下所示-

SET AUTOCOMMIT = 0mysql> SET AUTOCOMMIT = 0;

对于InnoDB中的事务,而不是使用SET AUTOCOMMIT = 0,请使用COMMIT命令进行提交。 

在这两种SQL模式下,将使用START TRANSACTION命令启动事务,如下所示:

mysql> START TRANSACTION;

实际上,上面的查询通知MySQL在事务结束之前,应将后面的语句视为单个工作单元。

猜你喜欢