|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
25.02.2011, 11:04 | #1 |
Форумчанин
Регистрация: 20.02.2010
Сообщений: 229
|
получение id инкремента
Доброго времени суток, товарищи коллеги!
Вопрос, на который вообщем - то не сильно надеюсь получить ответ) Как узнать id (auto increment поле в таблице) последнего инкремента. Ну к примеру прошол запрос к базе mysql_query("INSERT....') он записал новую строку в таблицу с новеньким id который доселе в этой таблице не фигурировал. Есть функиция mysql_insert_id , которая получает id, сгенерированный предыдущей операцией INSERT, НО что если во время между mysql_query("INSER....") и mysql_insert_id прошел еще один запрос с инсертом из другого скрипта к примеру, и mysql_insert_id выдаст уже id ненужной нам строки которая по сути последняя, шанс конечно не особо большой но все же есть. Другой вариант после инсерта пользовать еще одним запросом к базе и вытаскивать id только что сделаной записи. Что не очень удобно. Вопрос у какого какие мысли на этот счет и как можно сделать по другому, может там в самом запросе есть какая нито хитрость может еще что...
думай как баг, действуй как баг, и ты найдешь баг )
|
25.02.2011, 11:41 | #2 |
Форумчанин
Регистрация: 08.07.2010
Сообщений: 679
|
Вообще-то last_isert_id() возвращает id текущей сессии, поэтому вы в 99,99% случаев получите свой только что вставленный результат.
Другой вопрос если вам нужна последняя запись, с учетом одновременного множества записей. Для этого правильно проектируйте базу и используйте поле автоинкремента вместо дополнительного получения SELECT MAX(id) |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Получение файлов | M@riy@ | Работа с сетью в Delphi | 1 | 02.11.2010 15:30 |
Получение вектора | PastoriXx | Общие вопросы .NET | 0 | 14.05.2010 19:52 |
программу с примерами постфиксной и префиксной формами инкремента и декремента | Angel of death | Помощь студентам | 3 | 17.11.2009 18:13 |
Получение доступа | Ламер_001 | C/C++ Сетевое программирование | 0 | 20.01.2009 08:51 |