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

ユーザーはどのようにして新しいMySQLトランザクションを開始できますか?


コマンドSTARTTRANSACTIONを実行することにより、ユーザーは新しいMySQLトランザクションを開始できます。トランザクションの動作は、SQLAUTOCOMMITモードによって異なります。デフォルトのモードは「AUTOCOMMITON」モードで、各MySQLステートメントは完全なトランザクションと見なされ、終了時にデフォルトでコミットされます。次のようにセッション変数AUTOCOMMITを1に設定することで開始できます-

SET AUTOCOMMIT = 1

mysql> SET AUTOCOMMIT = 1;
Query OK, 0 rows affected (0.07 sec)

ユーザーがMySQLトランザクションのこのような動作を変更したい場合は、「AUTOCOMMIT OFF」SQLモードを設定できます。このモードでは、後続の一連のMySQLステートメントがトランザクションのように動作し、明示的なCOMMITステートメントが発行されるまでアクティビティはコミットされません。このモードでは、新しいセッションの最初の実行可能ステートメントが暗黙的に新しいマルチステートメントトランザクションを開始します。次のようにセッション変数AUTOCOMMITを0に設定することで開始できます-

SET AUTOCOMMIT = 0

mysql> SET AUTOCOMMIT = 0;
Query OK, 0 rows affected (0.00 sec)

SET AUTOCOMMIT =0を使用する代わりにInnoDBでのトランザクションの場合、 COMMITでコミットします 指図。

両方のSQLモードで、トランザクションは次のようにSTARTTRANSACTIONコマンドで開始されます-

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

実際、上記のクエリは、トランザクションが終了するまで、後続のステートメントを単一のワークユニットとして処理する必要があることをMySQLに通知します。


  1. MySQLルートユーザーの完全な権限を復元するにはどうすればよいですか?

    UPDATEコマンドを使用して、MySQLrootユーザーの完全な権限を復元できます。 まず、 mysqldを停止する必要があります -skip-grant-tablesで再起動します オプション。その後、 mysqlのみを使用してmysqldサーバーに接続します (つまり、-pオプションはなく、ユーザー名は必要ない場合があります)。 mysqlクライアントで以下のコマンドを発行して、完全な権限を持つMySQLrootユーザーを復元します。 UPDATE mysql.user SET Grant_priv = Y, Super_priv = Y WHERE User = root; Qu

  2. MySQLに別のユーザーとしてログインする方法は?

    MySQLに別のユーザーとしてログインする場合は、「mysql-u-pcommand」を使用する必要があります。別のユーザーとしてログインするための構文は次のとおりです。 >mysql -u yourUsername -p After pressing enter key Enter password − 上記の構文を理解するために、MySQLでユーザーを作成しましょう。構文は次のとおりです- CREATE USER 'yourUserName'@'localhost' IDENTIFIED BY 'yourPassword';