MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLでネストされたトランザクションをどのように使用できますか?


SAVEPOINTを使用すると、MySQLでネストされたトランザクションを操作できます。

まず、テーブルを作成します。その後、トランザクションを開始します。

次に、上記で作成したテーブルにレコードを挿入します。 SAVEPOINTステートメントを使用して、名前付きトランザクションのセーブポイントを識別子の名前で設定します。

クエリの形式で表示されるすべての手順は次のとおりです-

テーブルを作成する

mysql> create table NestedTransactionDemo
   -> (
   -> Name varchar(200)
   -> );
Query OK, 0 rows affected (0.63 sec)

トランザクションを開始します-

mysql> START TRANSACTION;
Query OK, 0 rows affected (0.00 sec)

次に、テーブルにレコードを挿入します

mysql> insert into NestedTransactionDemo values('John');
Query OK, 1 row affected (0.04 sec)

上に追加したレコードを表示する-

mysql> select *from NestedTransactionDemo;
+------+
| Name |
+------+
| John |
+------+
1 row in set (0.00 sec)

ネストされたトランザクションを作成するためのトランザクションの作業から始めましょう-

mysql> savepoint transaction2;
Query OK, 0 rows affected (0.00 sec)
mysql> insert into NestedTransactionDemo values('David');
Query OK, 1 row affected (0.00 sec)
mysql> select *from NestedTransactionDemo;
+-------+
| Name  |
+-------+
| John  |
| David |
+-------+
2 rows in set (0.00 sec)

mysql> rollback to transaction2;
Query OK, 0 rows affected (0.00 sec)

mysql> select *from NestedTransactionDemo;
+------+
| Name |
+------+
| John |
+------+
1 row in set (0.00 sec)

mysql> rollback to transaction2;
Query OK, 0 rows affected (0.00 sec)

  1. MySQLで@記号を使用するにはどうすればよいですか?

    @記号を使用するには、MySQLSETコマンドを使用します。 @signは、ユーザー定義変数を設定するために使用されます。以下は構文です- SET @anyVariableName:=yourValue; まずテーブルを作成しましょう- mysql> create table DemoTable1331    -> (    -> Id int,    -> Name varchar(20)    -> ); Query OK, 0 rows affected (0.51 sec)

  2. C#でネストされたifステートメントをどのように使用しますか?

    1つのifまたはelseifステートメントを別のifまたはelseifステートメント内で使用します。ネストされたifステートメントの構文は次のとおりです- if( boolean_expression 1) {    /* Executes when the boolean expression 1 is true */    if(boolean_expression 2) {       /* Executes when the boolean expression 2 is true */    }