|
|
|
| встака интенсивная, select last_insert_id() не успевае...как быть?
например,
вставили сущьность "человек" (изначально у экземпляра id=0), потом сразу же вставляем в наследуемую таблицу сущьность "начальник"(данные беруться из той же формы что и данные "человек", там просто чекбокс "начальник/подчиненный" ), мне нужен id ранее вставленного человека, а он пока не вставился и "select last_insert_id()" пока не сработал.... | |
|
|
|
|
|
|
|
для: BorisPlus
(11.04.2007 в 23:14)
| | Получи автоинкремент до вставки и прибавь один. | |
|
|
|
|
|
|
|
для: XPraptor
(12.04.2007 в 01:15)
| | Ерунда выйдет. | |
|
|
|
|
|
|
|
для: BorisPlus
(11.04.2007 в 23:14)
| | Что значит - не успевает?
mysql_insert_id() значение не возвращает? | |
|
|
|
|
|
|
|
для: Trianon
(12.04.2007 в 09:33)
| | А то и значит. У человека асинхронный доступ без LOCK FOR UPDATE. Записи идут потоком, вставилось уже 10, а скрипт только первый ид получил с задержкой на выдачу.
Я же сказал - или лочь таблицу или сначала получай ид а потом вставляй запись. | |
|
|
|
|
|
|
|
для: XPraptor
(12.04.2007 в 20:16)
| | . | |
|
|
|
|
|
|
|
для: XPraptor
(12.04.2007 в 20:16)
| | есть разница между LAST_INSERT_ID() и mysql_insert_id()
Also note that the value of the SQL LAST_INSERT_ID() function always contains the most recently generated AUTO_INCREMENT value, and is not reset between statements because the value of that function is maintained in the server.
А в остальном, пожалуй, соглашусь. | |
|
|
|