[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: last inserted id MySQL
bayanruby

создаю категорию
потом сразу же надо её привязать к сотруднику
но чтобы привязать к сотруднику нужно знать id только что созданной категории, делаю я это так mysql_insert_id()

не будет ли проблем когда будет много кто создавать категории и функция mysql_insert_id() запутается с id...?
twin
Нет.

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

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
bayanruby
можете как-нибудь аргументировать? пожалуйста, очень надо))
Игорь_Vasinsky
она не запутается.

она возвращает последний id строки, которая была добавлена в таблицу и баста.

лишь бы id был уникален или по традиции auto_increment

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Guest
100% после функции mysql_insert_id() я гарантированно получу ид последней мной вставленной записи?
kaww
Цитата
100% после функции mysql_insert_id() я гарантированно получу ид последней мной вставленной записи?
, для текущего соединения 100% даже если другой процесс успеет добавить еще записи в таблицу между вашим insert и mysql_insert_id()
bayanruby
как понять для текущего соединения ?
Invis1ble
соединение сервера с клиентом

_____________

Профессиональная разработка на заказ

Я на GitHub | второй профиль

bayanruby
всмысле каждый раз при обращении к базе подключаться к базе?
kaww
Цитата
всмысле каждый раз при обращении к базе подключаться к базе?
. т.е. если за время выполнения скрипта кто-то установил еще соединение и добавил запись в таблицу, вы все равно получите "свое" значение lastInsertId
bayanruby
Цитата
скрипта кто-то установил еще соединение и добавил

1) а в моё соединение кто-нибудь попасть может?)

2) может быть что у всех одно соединение?
PandoraBox2007
Цитата (bayanruby @ 29.11.2012 - 17:49)
как понять для текущего соединения ?

поток пхп подсоединяется с потоком mysql,
внутри сесии между ними будет уникальный индификатор

для больше грантированости

mysql_insert_id ( [переменная индификатора mysql сесии] )

Игорь_Vasinsky
ты сам соединение создаешь через mysql_connect - кто тебе сказал что оно может быть одно только? вот тебе и говорят - для текущего

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
bayanruby
Кто с Zend Framework работал? Там прокатит эта фишка?
Joker
если AUTO_INCREMENT не используете не фига не вернет)))
man
mysql_insert_id() возвращает ID, сгенерированный колонкой с AUTO_INCREMENT последним запросом INSERT к серверу, на который ссылается переданный функции указатель link_identifier. Если параметр link_identifier не указан, используется последнее открытое соединение.

mysql_insert_id() возвращает 0, если последний запрос не работал с AUTO_INCREMENT полями. Если вам надо сохранить значение, убедитесь, что mysql_insert_id() вызывается сразу после запроса.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.