Как узнать значение автоинкрементного поля?

Gold Man

Guest
Как узнать значение автоинкрементного поля?

Поле имеет смысл "номер заказа". Записываю в таблицу строку с информацие о заказе и теперь надо знать его номер. Последний или наибольшие не подходят, т.к. в этот момент может сделать заказ другой клиент.
Есть идея - в три шага:
добавляю в таблицу дополнительное поле,
1.записываю в это поле какое-то уникальное число ( можно случайное из достаточно большого диапазона.
2.делаю выборку из таблицы по этому значению поля (узнаю значение автоинкрементного поля)
3.удаляю значение из из дополнитеотного поля (чтобы в дальнейшем не делать проверки на совпадение )

Подозреваю, что на самом деле значение автоинкрементного поля можно узнать как-то проще и с меньшим количеством обращений. Подскажите, пожалуйста!
 

Gold Man

Guest
А если между выполнением комманд append и mysql_insert_id кто-то успеет еще один заказ оформить? Тогда, получится два заказа с одним номером. Конечно, для нового проекта вряд ли это случится, но плох тот рядовой, который не мечтает...
 

AHTIXPICT

Новичок
Твои слова:
>записываю в таблицу строку с информацие о заказе и теперь надо знать его номер

Исходя из этого тебе нужен mysql_insert_id();
Если тебе нужен максимальный тогда SELECT max(твой_id) FROM ...
 

Profic

just Profic (PHP5 BetaTeam)
не парь мозг. а лучше почитай мануал на MySQL, где написано, что этот ид разный для разных сессий (не путать с сессией PHP!)
 

Profic

just Profic (PHP5 BetaTeam)
kruglov
для этого пациента ИМХО слово "соединение" будет слишком сложным для восприятия, только поэтому и написал "сессий" :) Хотя они конечно немного отличаются по своему смыслу.
 

Gold Man

Guest
Спасибо, но я не совсем дурак. Как любой нормальный человек, инструкции смотрю, когда уже ничего не помогает.
 
Сверху