выбор для обновления дает ошибку в индексированном столбце - PullRequest
0 голосов
/ 17 марта 2012

вот мой код:

mysql_query("start transaction");
$q="select max(id) from test for update";
$r=mysql_query($q);
$row=mysql_fetch_array($r);
for ($k=0;$k<100000;$k++)
{
$q="insert into test values ($row[0]+$k)";
$r=mysql_query($q);
}
mysql_query("commit");

если я запускаю код в браузере 2, если столбец идентификатора не проиндексирован, код запускается правильно - второй сеанс дождется принятия первого сеанса -.

, ноесли столбец id проиндексирован, я получаю эту ошибку: «mysql_fetch_array () ожидает, что параметр 1 будет ресурсом, логическое значение задано» во втором браузере - сеанс ожидания.ошибка "Обнаружен тупик при попытке получить блокировку; попробуйте перезапустить транзакцию".почему?

...