|
|
|
| Здравствуйте, напомните пожалуйста как получить id только что вставленный в таблицу если id auto_increment.
Спасибо)) | |
|
|
|
|
|
|
|
для: Job
(04.09.2008 в 15:06)
| | mysql_insert_id() | |
|
|
|
|
|
|
|
для: sim5
(04.09.2008 в 15:07)
| | А если совпало так что только что тоже кто-то другой вставил запись и получил соот ID+1 нам то скрипт какой выдаст? Наш или самый последний? Интерестно стало)) | |
|
|
|
|
|
|
|
для: Proger
(04.09.2008 в 16:24)
| | mysql_insert_id() - надо выполнять сразу после INSERT. | |
|
|
|
|
|
|
|
для: sim5
(04.09.2008 в 16:39)
| | да это понятно, но в теории могут же быть случаи большой нагрузки и тогда между вставкой в таблицу и mysql_insert_id может ещё кто-то создать запись)) Мне просто интерестно =)) | |
|
|
|
|
|
|
|
для: Proger
(04.09.2008 в 16:41)
| | Пользователь А побудил запись в базу, и ему после записи был выдан номер этой записи. Вы хотите сказать, что пользователь В влез в процесс пользователя А и присвоил себе этот номер? Одновременно никак записи не будет, а остальное сделает MySQL. Ну или Trianon вам объяснит более доходчиво. :) | |
|
|
|
|
|
|
|
для: Proger
(04.09.2008 в 16:41)
| | На пальцах: интерфейсная библиотека запомнит номер сразу же после запроса. И отдаст его по вызову mysql_insert_id() тогда, когда понадобится. Даже если между запросом и вызовом кто-то уже успел вставить строк пятьдесят.
Наяву чуть сложнее, но суть та же. | |
|
|
|
|
|
|
|
для: Trianon
(04.09.2008 в 17:00)
| | В смысле у паралельно выполняющегося скрипта свой набор вставленных АйДи?
А если в выполняемом скрипте mysql_insert_id() выполнить до insert? | |
|
|
|
|
|
|
|
для: Valick
(04.09.2008 в 17:21)
| | И что вы получите? | |
|
|
|
|
|
|
|
для: Valick
(04.09.2008 в 17:21)
| | mysql_insert_id() просто считывает содержимое какой-то переменной, где записан вставленный id или возвращает 0. | |
|
|
|
|
|
|
|
для: BinLaden
(04.09.2008 в 17:41)
| | ну да с набором я погорячился)) Спасибо. | |
|
|
|