When not controlling creation , to update , read , When deleting , What will happen ?
  The data needs to be updated in time after purchase , Avoid errors .
 What is a transaction ?
 A transaction is a set of database operation statements (DML), One group or all succeed , Or all fail .
 A transaction is a whole composed of multiple operations to realize a thing .
 One MySQL database , It's definitely not a transaction running , So when there's a conflict , Those half implemented sql Transactions consisting of statements , What should I do ?
 remarks :
sql sentence :
 * DDL( Define database objects , Table and column ),
 * DML( Used to manipulate record data in database tables ),
 * DQL( Query data ),
 * DCL( Define access rights and security levels ) 
 therefore , Transactions cannot be just sql Combination of statements , The following attributes are also required .
 *  Atomicity 
: A transaction (transaction) All operations in , Or finish it all , Or not all , It won't end in the middle . An error occurred during the execution of the transaction , Will be rolled back (Rollback) To the state before the start of the transaction , It's like this business has never been performed .
 *  uniformity 
: Before the transaction starts and after the transaction ends , The integrity of the database was not compromised . This means that the written data must fully comply with all preset rules , This includes the accuracy of the data , Tandem and subsequent databases can spontaneously complete the predetermined work .
 *  Isolation 
: The ability of a database to allow multiple concurrent transactions to read, write, and modify its data at the same time , Isolation can prevent data inconsistency caused by cross execution when multiple transactions are executed concurrently . Transaction isolation is divided into different levels , Include read uncommitted ( 
Read uncommitted ), Read commit ( read committed ), Repeatable reading ( repeatable read ) And serialization ( 
Serializable )
 *  persistence : After transaction , The modification of data is permanent , Even if the system fails, it will not be lost . 
 Why do transactions occur 
 Transactions are designed when an application accesses a database , Can simplify our programming model .
 Version support for transactions 
MySQL Only used in innodb Only the database or table of the database engine supports transactions ,myisam I won't support it .
 Transaction submission method 
 There are two common transaction submission methods :
 *  Auto submit 
 *  Manual submission  
 View transaction submission method 
  use  SET  To change  MySQL  Automatic submission mode , Remember to change it back 
 
  Common operation modes of transaction 
 Create test table 
 Proving the start and rollback of a transaction 
 
 
 Transaction isolation level 
 In database , In order to ensure that there is no interference in the execution of transactions , There is isolation .
 In database , Allow transactions to be disturbed to varying degrees , There is an isolation level .
 Isolation level 
 *  Read uncommitted 【Read Uncommitted】:  At this isolation level , All transactions can see the execution results of other transactions that are not committed .
 *  Read commit 【Read Committed】 : This isolation level is the default isolation level for most databases ( no  MySQL 
 default ). It satisfies the simple definition of isolation : A transaction can only see the changes made by other committed transactions .
 *  Repeatable reading 【Repeatable Read】:  This is  MySQL 
 Default isolation level , It ensures the same transaction , In execution , When reading operation data multiple times , You will see the same data row . But there will be unreal reading problems .
 *  Serialization 【Serializable】:  This is the highest isolation level for transactions , It does this by forcing transaction sequencing , Make it impossible to conflict with each other , Thus, the problem of unreal reading is solved . 
 Isolation is basically achieved through locks .
 View global isolation level 
  View the global isolation level of the current session 
  Set current session or Global isolation level syntax 
SET [SESSION | GLOBAL] TRANSACTION ISOLATION LEVEL {READ UNCOMMITTED | READ 
COMMITTED |REPEATABLE READ | SERIALIZABLE}
 Set the current session isolation level to serialization 
 Let's look at the change of session isolation level 
 
 Read uncommitted 
  Open transaction 
 Open another terminal B, adopt B visit 
  A transaction is in progress , Read an update from another transaction in progress ( Or other operations ) But not commit Data , This phenomenon is called dirty reading (dirty read).
 Read commit 
 Repeatable reading 
 Serialization 
 Isolation level comparison 
Technology