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

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


STARTコマンドとSAVEPOINTを使用して、複数のトランザクションを許可できます。 CREATEコマンドを使用してテーブルを作成しましょう。

テーブルの作成

mysql> CREATE table transactionDemo
-> (
-> id int auto_increment,
-> primary key(id)
-> );
Query OK, 0 rows affected (0.76 sec)

その後、STARTコマンドを使用してトランザクションを開始します-

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

その後、INSERTコマンド-

を使用して、次のレコードを挿入します。
mysql> INSERT into transactionDemo values();
Query OK, 1 row affected (0.04 sec)

SELECTステートメントを使用してレコードを表示できます。これは次のとおりです-

mysql> SELECT *from transactionDemo;

以下は出力です

+----+
| id |
+----+
| 1  |
+----+
1 row in set (0.00 sec)

その後、SAVEPOINTを使用してこのクエリを保存しています。クエリは次のとおりです-

mysql> SAVEPOINT t2;

レコードを挿入

mysql> INSERT into transactionDemo values();
Query OK, 1 row affected (0.00 sec)

SELECTコマンドを使用してすべてのレコードを表示する-

mysql> SELECT *from transactionDemo;

以下は出力です

+----+
| id |
+----+
| 1  |
| 2  |
+----+
2 rows in set (0.00 sec)

これで、最初のトランザクションをロールバックできます-

mysql> ROLLBACK TO t2;
Query OK, 0 rows affected (0.03 sec)

これで、以前に保存したトランザクションを表示できます-

mysql> SELECT *from transactionDemo;

以下は出力です

+----+
| id |
+----+
| 1  |
+----+
1 row in set (0.00 sec)

  1. MySQLの10進数の使用方法は?

    MySQLの10進データ型を使用して、正確な数値を格納できます。 DECIMALデータ型の構文。 yourColumnName Decimal(integerValue,intgerValue); DECIMALデータ型の例。 mysql> create table EmployeeInformation -> ( -> EmpId int auto_increment primary key, -> EmpName varchar(200), -> EmpSalary DECIMAL(6.2) -> ); Query

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

    SAVEPOINTを使用すると、MySQLでネストされたトランザクションを操作できます。 まず、テーブルを作成します。その後、トランザクションを開始します。 次に、上記で作成したテーブルにレコードを挿入します。 SAVEPOINTステートメントを使用して、名前付きトランザクションのセーブポイントを識別子の名前で設定します。 クエリの形式で表示されるすべての手順は次のとおりです- テーブルを作成する mysql> create table NestedTransactionDemo -> ( -> Name varchar(200) -> );