День добрый. Возник вопрос. У меня есть скрипт в котором содержится счетчик. Из счетчика я добавляю число в БД(MySQL). Собственно вопрос: Если эти скрипты запустить параллельно то у меня идут дубли. Вероятность того что они будут запущены параллельно крайне мола но надо все предусмотреть. Как можно запретить запись в бд пока выполняется скрипт у другого человека, есть ли какие-то стандартные средства MySql или PHP. Хотелось бы без костылей на проверку дубля в бд из php. Спасибо. Кусок кода: PHP: $max_count = mysql_query("SELECT MAX( num_count ) FROM inv_main"); $max_num_count = mysql_result($max_count,0); $max_num_count += 1; echo $max_num_count.'<br>'; mysql_query(" UPDATE inv_main SET num_count = '".$max_num_count."' WHERE id = '".$arr[$k]['faktura']['id']."'"); for ($i=0;$i <= 9-mb_strlen($max_num_count); $i++){ $last_element_of_number .= 0; } $last_element_of_number .= $max_num_count; $num = $arr[$k]['faktura']['post_unp'].'-'.$arr[$k]['faktura']['god'].'-'.$last_element_of_number;
Авто инкремент не прокатит т.к по умолчанию нули --- Добавлено --- Все разобрался\. спасибо. Транзакции помогли