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