2016-04-29 3 views
0

私はトランザクションと自動コミットと混同しています。しかし、MySQLの自動コミットが何をするのかを説明する文書はありません。MySQLは自動コミット機能を備えた単一のDML変更データでトランザクションを使用しますか?

自動コミットをオンにすると、すべてINSERT UPDATE DELETEステートメントがすぐに有効になります。 MySQLはこれを行うためにトランザクションを自動的に開始しますか?

もしそうでなければ、MySQLは何をしていますか?トランザクションとの違いは何ですか?私の見解では

:自動コミットと

声明

INSERT INTO ...

のSTART TRANSACTIONに対等に。

INSERT INTO ...;

COMMIT;

自動コミットオフ。

いずれの場合も、2つのステートメントは同じアクションをとります。

それは正しいですか?

答えて

0

まず、ほとんどのMySQLストレージエンジンはトランザクションをサポートしていないことを知っておく必要があります。例えば、InnoDBはサポートしていますが、MyISAMはサポートしていません。

のInnoDBでは、あなたは、2つの方法でトランザクションを使用することができます。

  • 暗黙の

    のSTART TRANSACTION;
    INSERT/UPDATE/DELETE
    COMMIT; SET介し

  • 明示

は、それらの両方が同じ結果を提供

をオフ自動コミット

関連する問題