Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: id только что вставленной записи в таблицу.
 
 автор: Job   (04.09.2008 в 15:06)   письмо автору
 
 

Здравствуйте, напомните пожалуйста как получить id только что вставленный в таблицу если id auto_increment.

Спасибо))

  Ответить  
 
 автор: sim5   (04.09.2008 в 15:07)   письмо автору
 
   для: Job   (04.09.2008 в 15:06)
 

mysql_insert_id()

  Ответить  
 
 автор: Proger   (04.09.2008 в 16:24)   письмо автору
 
   для: sim5   (04.09.2008 в 15:07)
 

А если совпало так что только что тоже кто-то другой вставил запись и получил соот ID+1 нам то скрипт какой выдаст? Наш или самый последний? Интерестно стало))

  Ответить  
 
 автор: sim5   (04.09.2008 в 16:39)   письмо автору
 
   для: Proger   (04.09.2008 в 16:24)
 

mysql_insert_id() - надо выполнять сразу после INSERT.

  Ответить  
 
 автор: Proger   (04.09.2008 в 16:41)   письмо автору
 
   для: sim5   (04.09.2008 в 16:39)
 

да это понятно, но в теории могут же быть случаи большой нагрузки и тогда между вставкой в таблицу и mysql_insert_id может ещё кто-то создать запись)) Мне просто интерестно =))

  Ответить  
 
 автор: sim5   (04.09.2008 в 16:46)   письмо автору
 
   для: Proger   (04.09.2008 в 16:41)
 

Пользователь А побудил запись в базу, и ему после записи был выдан номер этой записи. Вы хотите сказать, что пользователь В влез в процесс пользователя А и присвоил себе этот номер? Одновременно никак записи не будет, а остальное сделает MySQL. Ну или Trianon вам объяснит более доходчиво. :)

  Ответить  
 
 автор: Trianon   (04.09.2008 в 17:00)   письмо автору
 
   для: Proger   (04.09.2008 в 16:41)
 

На пальцах: интерфейсная библиотека запомнит номер сразу же после запроса. И отдаст его по вызову mysql_insert_id() тогда, когда понадобится. Даже если между запросом и вызовом кто-то уже успел вставить строк пятьдесят.

Наяву чуть сложнее, но суть та же.

  Ответить  
 
 автор: Valick   (04.09.2008 в 17:21)   письмо автору
 
   для: Trianon   (04.09.2008 в 17:00)
 

В смысле у паралельно выполняющегося скрипта свой набор вставленных АйДи?
А если в выполняемом скрипте mysql_insert_id() выполнить до insert?

  Ответить  
 
 автор: sim5   (04.09.2008 в 17:40)   письмо автору
 
   для: Valick   (04.09.2008 в 17:21)
 

И что вы получите?

  Ответить  
 
 автор: BinLaden   (04.09.2008 в 17:41)   письмо автору
 
   для: Valick   (04.09.2008 в 17:21)
 

mysql_insert_id() просто считывает содержимое какой-то переменной, где записан вставленный id или возвращает 0.

  Ответить  
 
 автор: Valick   (04.09.2008 в 17:56)   письмо автору
 
   для: BinLaden   (04.09.2008 в 17:41)
 

ну да с набором я погорячился)) Спасибо.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования