函數有一個結構:MySQL的MyISAM的競爭條件
$q = 'LOCK TABLES table1 WRITE;';
mysql_query($q);
$q = 'select id from table1 where is_delete = 0 limit 1;';
$res = mysql_fetch_assoc(mysql_query($q));
if($res) {
$q = 'UPDATE table1 SET is_delete = 1 WHERE id = '".$res['id']."'';
mysql_query($q);
}
$q = 'UNLOCK TABLES;';
mysql_query($q);
我鎖定所有的表,但查詢的並行運行。 這個怎麼解決?
哪裏鎖定表的代碼? – 2012-04-16 18:56:59
對不起,問題更新 – Merlin 2012-04-16 19:02:53
您的用戶是否擁有LOCK TABLES特權? – angrychimp 2012-04-16 19:30:55