> ### ***應用場景***
* [ ] 高并發下單時,減庫存量時要加鎖
* [ ] 高并發搶單、搶票時要使用
*****
語法:lock table 表名1 read|write, 表名2 read|write...
unlock tables;
*****
MySQL鎖示例代碼
```
<?php??
# 模擬秒殺活動--?商品100件?
CREATE?TABLE?a?
(?
????id?int?comment?'模擬100件活動商品的數量'?
);?
INSERT?INTO?a?VALUES(100);?
#模仿:以10的并發量訪問這個腳本!????使用apache自帶的ab.exe軟件?
error_reporting(0);??
mysql_connect('localhost','root','admin123');??
mysql_select_db('test');??
#?mysql?鎖??
mysql_query('LOCK?TABLE?a?WRITE');//?只有一個客戶端可以鎖定表,其他客戶端阻塞在這
$rs?=?mysql_query('SELECT?id?FROM?a');??
$id?=?mysql_result($rs,?0,?0);??
if($id?>?0)??
{??
????--$id;??
???? mysql_query('UPDATE?a?SET?id='.$id);??
}??
#?mysql?解鎖??
mysql_query('UNLOCK?TABLES');
```