Запросы в очереди

Boom.Olezka

Новичок
Запросы в очереди

В прошлом своё топике я спрашивал про функцию mysql_insert_id(), я поверил людям :) и смело её использую :)

Следующий вопрос тоже связан с "наложением" данных :)

Ситуация такая...

Выполняю вот такой вот запрос, узнаю следующий возможный topic_id у поста...
$sql = "SELECT max(topic_id)+1 as topic_id FROM posts";
$topic_id = $topic_id_row[topic_id];

$sql = "INSERT INTO posts VALUES('','$name','$topic_id')";

Пример: получилось так что два пользователя выполнили запрос $sql почти в одинаковое время (пусть даже очередь запоросов есть) и получили одинаковое значение... Может ли произойти наложение :) и как вообще поступают в таких случаях?
 

Trianon

Новичок
Берут $topic_id как первичный ключ из таблицы топиков. Тем же mysql_insert_id()
 

Фанат

oncle terrible
Команда форума
нету у него таблицы топиков
и, по большому счёту, она и не нужна.
 

Boom.Olezka

Новичок
А как ещё подругому узнать id_topic что бы создать следующий, одно поле авто инкремента уже есть post_id :) Поэтому мне приходится так извращаться...

Не понял :confused: можешь уточнить ещё... Не понимаю после чего и где его надо обновить... если получается что у пользоватли получили в переменную одинаковый $topic_id, то ничего уже не сделаешь :( Если можно покажи на моём примере, как можно разрешить мою проблему...
 

Фанат

oncle terrible
Команда форума
если тебе так дозарезу нужно поле topic_id, то
обновляешь. его. после. вставки.

что тебе здесь неясно?
 

Boom.Olezka

Новичок
Я понял вот так...

$sql = "SELECT max(topic_id)+1 as topic_id FROM posts";
$topic_id = $topic_id_row[topic_id];

$sql = "INSERT INTO posts VALUES('','$name','$topic_id')";
$post_id = mysql_insert_id();

$sql = "UPDATE posts SET topic_id=$topic_id WHERE post_id=$post_id";

Но я почему то не вижу спасения... Ведь по твоим словам наложение произошло ещё в первых строчках... значит пользователи получили одинаковые $topic_id :(
 

Фанат

oncle terrible
Команда форума
о господи.
у сообщения, которое является первым в топике, topic_id равен post_id.
понятно?
 

Boom.Olezka

Новичок
Сейчас сгорю на месте :) Прости конечно но я ничего не понял... последнее сообщение твоё вообще вконец запутало :(
 

Boom.Olezka

Новичок
Смотрю на первый свой топик и не понимаю к чему там topic_id равен post_id :( они полюбому не могу быть равны, если на то уже пошло...

-~{}~ 06.09.06 22:35:

Закройте тему... ;) виноват...
 

Boom.Olezka

Новичок
Можно всё осуществить без этого извращения :) Оказывается в phpBB есть таблица topics... Теперь мне надо мыслить подругому :) Вопрос уже не актуален... Прости за моё тугодумство и за твоё время потраченное на меня :)
 

Boom.Olezka

Новичок
Я не сказал с самого начала что работаю c open source скриптом, phpBB2 :) Мне таблица топиков не нужна, она там уже есть :)

Я сегодня переучился и переработался... Моя проблема решена! Вопрос закрыт! Фанат, тебе ещё раз отдельное спасибо за внимание :) Я уверен тебе ещё удасться меня поставить на путь истиный :) Жди топиков от меня :)))
 
Сверху