|
|
|
| Добавляю строку.Первый столбик сам определяет её номер
id INT( 11 ) AUTO_INCREMENT NOT NULL,
Чтобы этот номер достать мне целый запрос к таблице надо делать?
Или есть более быстрое решение? | |
|
|
|
|
|
|
|
для: Eugene77
(01.11.2007 в 17:09)
| | Нужно делать отдельный запрос:
q = "select last_insert_id()";
|
| |
|
|
|
|
|
|
|
для: Thrasher
(01.11.2007 в 17:16)
| | >Нужно делать отдельный запрос:
>
>q = "select last_insert_id()";
>
|
Спасибо!
А ошибка может выйти, если между записью и вашим запросом параллельный процесс
успет ещё что-то вписать?
Или этот запрс вернёт нечто ассоциированное именно с данным процессом на PHP? | |
|
|
|
|
|
|
|
для: Eugene77
(01.11.2007 в 20:16)
| | > А ошибка может выйти, если между записью и вашим запросом параллельный процесс
успет ещё что-то вписать?
Может.
Лучше использовать PHP-функцию mysql_insert_id(). | |
|
|
|
|
|
|
|
для: Unkind
(01.11.2007 в 21:01)
| | А по-моему, не может.
Как раз функция last_insert_id() возвращает данные только для данного соединения и данного процесса...
Вот цитата из мануала:
Значение последнего сгенерированного ID сохраняется на сервере для данного конкретного соединения и не будет изменено другим клиентом. | |
|
|
|
|
|
|
|
для: Thrasher
(02.11.2007 в 09:39)
| | Обе функции ведут себя одинаково - возвращают идентификатор только что сгенерированного автоинкрементного поля для текущей сессии - при открытии нового соединения - функции ни в MySQL, ни в PHP не сработают. | |
|
|
|
|
|
|
|
для: cheops
(02.11.2007 в 11:30)
| | Спасибо!
Из ваших комментариев я сделал вывод, что использование этих функций совершенно безопасно и уже вставил их в свой текст. | |
|
|
|