mysqlトランザクションビューインデックスのバックアップとリカバリ

966 ワード

一つの事務
begin     START TRANSACTION      
rollback commit MYSQLデフォルト設定は自動的にコミットされ、set autocommit=0/1で設定できます.
0:      
1:      

トランザクションの実行を開始するには、beginまたはstart transactionを使用するか、自動コミットを閉じるか、commitコミットまたはrollbackロールバックを使用します.
通常、トランザクションは1つのユニットとして1つ以上のSQL文で構成され、1つの文が完了しない場合、ユニット全体がロールバック(取り消し)され、影響を受けたすべてのデータがトランザクションの開始前の状態に戻ります.したがって、トランザクションのすべての文が正常に実行された場合にのみ、トランザクションが正常に実行されたと言えます.
次にテストします
create table t1 (
      sid int(4) ,
      sName varchar(10),
      primary key(sid)
)
begin;
insert into t1 values(1,'  ');
insert into t1 values(1,'  ');
commit;

第2セグメントは明らかにプライマリ・キーの唯一の原則に反し、第2セグメントではcommitを実行せずにエラーを報告した.テーブルを検索すると、最初のセグメントが挿入されていることがわかり、rollbackを使用してロールバックします.
テストを経て、この言葉はこのように理解すべきで、ある文が間違っていると、私たちは自分でrollbackを手動でロールバックします.すべてのsql文が正しいので、commitを使用してコミットします.