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

Форум MySQL

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

 

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

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

тема: Как правильно узнать номер только что добавленной строки?
 
 автор: Eugene77   (01.11.2007 в 17:09)   письмо автору
 
 

Добавляю строку.Первый столбик сам определяет её номер
id INT( 11 ) AUTO_INCREMENT NOT NULL,
Чтобы этот номер достать мне целый запрос к таблице надо делать?
Или есть более быстрое решение?

   
 
 автор: Thrasher   (01.11.2007 в 17:16)   письмо автору
 
   для: Eugene77   (01.11.2007 в 17:09)
 

Нужно делать отдельный запрос:

q = "select last_insert_id()";

   
 
 автор: Eugene77   (01.11.2007 в 20:16)   письмо автору
 
   для: Thrasher   (01.11.2007 в 17:16)
 

>Нужно делать отдельный запрос:
>

>q = "select last_insert_id()";
>

Спасибо!
А ошибка может выйти, если между записью и вашим запросом параллельный процесс
успет ещё что-то вписать?
Или этот запрс вернёт нечто ассоциированное именно с данным процессом на PHP?

   
 
 автор: Unkind   (01.11.2007 в 21:01)   письмо автору
 
   для: Eugene77   (01.11.2007 в 20:16)
 

> А ошибка может выйти, если между записью и вашим запросом параллельный процесс
успет ещё что-то вписать?

Может.

Лучше использовать PHP-функцию mysql_insert_id().

   
 
 автор: Thrasher   (02.11.2007 в 09:39)   письмо автору
 
   для: Unkind   (01.11.2007 в 21:01)
 

А по-моему, не может.
Как раз функция last_insert_id() возвращает данные только для данного соединения и данного процесса...

Вот цитата из мануала:
Значение последнего сгенерированного ID сохраняется на сервере для данного конкретного соединения и не будет изменено другим клиентом.

   
 
 автор: cheops   (02.11.2007 в 11:30)   письмо автору
 
   для: Thrasher   (02.11.2007 в 09:39)
 

Обе функции ведут себя одинаково - возвращают идентификатор только что сгенерированного автоинкрементного поля для текущей сессии - при открытии нового соединения - функции ни в MySQL, ни в PHP не сработают.

   
 
 автор: Eugene77   (02.11.2007 в 19:06)   письмо автору
 
   для: cheops   (02.11.2007 в 11:30)
 

Спасибо!
Из ваших комментариев я сделал вывод, что использование этих функций совершенно безопасно и уже вставил их в свой текст.

   
Rambler's Top100
вверх

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