ホームページ > データベース > mysql チュートリアル > MySQL で複数のテーブルをロックするにはどうすればよいですか?

MySQL で複数のテーブルをロックするにはどうすればよいですか?

王林
リリース: 2023-09-04 11:13:11
転載
777 人が閲覧しました

MySQL で複数のテーブルをロックするにはどうすればよいですか?

LOCK TABLES コマンドを使用すると、複数のテーブル ロックを実装できます。構文は次のとおりです。 -

LOCK TABLES yourTableName1 WRITE;
LOCK TABLES yourTableName2 WRITE;
LOCK TABLES yourTableName3 WRITE;
LOCK TABLES yourTableName4 WRITE;
.
.
.
N;
ログイン後にコピー

テーブル ロックはトランザクション セーフではなく、2 番目のテーブルをロックしようとする前に、最初にアクティブなトランザクションを暗黙的にコミットします。

テーブル OrderDemo -

mysql> create table OrderDemo
   -> (
   -> OrderId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   -> OrderPrice int,
   -> OrderDatetime datetime
   -> );
Query OK, 0 rows affected (0.66 sec)
ログイン後にコピー

があるとします。これはテーブル OrderDemo と utfdemo をロックするクエリです。 utfdemo はサンプル データベースにすでに存在します。クエリは次のとおりです -

mysql> LOCK TABLES OrderDemo WRITE;
Query OK, 0 rows affected (0.03 sec)
mysql> LOCK TABLES utfdemo WRITE;
Query OK, 0 rows affected (0.07 sec)
ログイン後にコピー

今度はセッションのテーブルをロックします。テーブルを作成しようとすると、エラーが発生します。

エラーは次のとおりです -

mysql> create table LockTableDemo
   -> (
   -> UserId int,
   -> UserName varchar(10)
   -> );
ERROR 1100 (HY000): Table 'LockTableDemo' was not locked with LOCK TABLES
mysql> create table UserIformation
   -> (
   -> UserId int,
   -> UserName varchar(10)
   -> );
ERROR 1100 (HY000): Table 'UserIformation' was not locked with LOCK TABLES
ログイン後にコピー

この問題を解決するには、MySQL を再起動する必要があります。

以上がMySQL で複数のテーブルをロックするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:tutorialspoint.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート