ホームページ > データベース > mysql チュートリアル > mysqlで悲観的ロックを実装するにはどうすればよいですか?

mysqlで悲観的ロックを実装するにはどうすればよいですか?

coldplay.xixi
リリース: 2020-06-30 17:21:37
オリジナル
6446 人が閲覧しました

Mysql 悲観的ロック方法: 1. 最初に [select ... for update] を使用してロックし、操作が完了したら commit を使用してロックを解放します。その後、innodb エンジンはデフォルトで行レベルに設定されます。 lock; 最終的にデータが見つからない場合は、テーブルをロックしないでください。

mysqlで悲観的ロックを実装するにはどうすればよいですか?

mysql 悲観的ロック メソッド:

1. トランザクションの開始

begin;/begin work;/start transaction; (三者选一就可以)
ログイン後にコピー

2. クエリ出力製品情報

select status from table where id=1 for update;
ログイン後にコピー

3. 製品情報に基づいて注文を生成

insert into table111 (id,goods_id) values (null,1);
ログイン後にコピー

4. 製品ステータスを2

update table set status=2 where id=1;
ログイン後にコピー

5に変更します。トランザクションを送信

commit;/commit work; (任选一种释放锁)
ログイン後にコピー

概要:

1. ロックの更新に select... を使用して悲観的ロックを実装し、操作の完了後に commit を使用してロックを解放します;

2. Innodbエンジン、デフォルトでは行レベルのロック、クリアなフィールドがある場合、クエリ条件または条件がない場合は行がロックされます;

フィールドが不明瞭な場合、テーブル全体がロックされます。そして、条件が範囲の場合、テーブル全体がロックされます;

3. データが見つからない場合、テーブルはロックされません。

関連する学習に関する推奨事項: mysql ビデオ チュートリアル

以上がmysqlで悲観的ロックを実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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