0
Другие записи за это число:
2009/12/22 - CRON
<< предыдущая заметкаследующая заметка >>
22 декабря 2009
unic

Начал делать систему правильной авторизации. В принципе, она уже должна работать и каждому выдавать его уникальный номер unic (он показывается в левом столбце). При первом заходе должен быть 0, а дальше — порядковый номер по базе.

Возник такой вдруг вопрос: вот я добавляю в MySQL новую запись, которая ляжет в базу с ключевым полем ID (автоинкремент). Могу я в том же запросе сразу выяснить, каким ID легла в базу эта новая запись? Очень надо. Иначе стремно как-то.

UPD: Спасибо за советы! Сделал mysql_insert_id()

<< предыдущая заметка следующая заметка >>
пожаловаться на эту публикацию администрации портала
Страницы, которые привлекли мое внимание за последние дни, рекомендую:
архив ссылок
Оставить комментарий
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
>Возник такой вдруг вопрос: вот я добавляю в MySQL новую запись, которая ляжет в базу с ключевым полем ID (автоинкремент). Могу я в том же запросе сразу выяснить, каким ID легла в базу эта новая запись? Очень надо.

LAST_INSERT_ID()?
whois*: title='{#countryname}
Чертаново{Россия'> {city:|:{#countryname}|*:Чертаново{Россия|}}
0
0
LLeo
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
Как? Как это записать?
Windows Opera
1
1
batc0h
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
Лео, извините за оффтоп и наглость, а можно в левом столбце ссылки на основной дневник, блог движка и восстановленный жж? RSS конечно хорошая штука, но ссылки прямо на странице очень помогли бы.
Linux Ubuntu Firefox
0
0
batc0h
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
баг-репорт:
если заметка под замком, но названа не в формате даты, то доступна всем по прямой ссылке.

Все проблемы бы решала возможность отдельно от названия задавать дату заметки в editore.
Mac Firefox
0
0
batc0h
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
mysql_insert_id() или SELECT LAST_INSERT_ID().
whois*: title='{#countryname}
Чертаново{Россия'> {city:|:{#countryname}|*:Чертаново{Россия|}}
0
0
LLeo
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
Ну это уже вторым запросом что-ли? А если за это время еще один добавился?
Windows Firefox
0
0
batc0h
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
можешь.
"INSERT INTO bla_bla_bla ; SELECT last_insert_id()"

вот такой запрос оформляешь как селективный и получаешь ID на выходе.
Linux
whois*: title='{#countryname}
Чертаново{Россия'> {city:|:{#countryname}|*:Чертаново{Россия|}}
0
0
LLeo
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
PHP не позволяет множественные запросы к mysql.
Windows Firefox
0
0
batc0h
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
При работе нескольких скриптов парралельно, если каждый из них держит свое открытое подключение к серверу mysql, то есть выполняет последовательно INSERT , а затем SELECT last_insert_id , в рамках одного выполненого перед этим mysql_connect() -- то каждый получит именно id своего INSERT. Независимо от того сколько их выполняется парралельно.
Windows Firefox
0
0
batc0h
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
Можно воспользоваться mysql_insert_id

mysql_query("INSERT INTO mytable (product) values ('kossu')");
printf("Last inserted record has id %d\n", mysql_insert_id());

http://php.net/manual/en/function.mysql-insert-id.php
Это сделано специально для автоинкремента. Ну и лучше mysql_insert_id($conn).

Я так понимаю, что значение уникальное для каждого коннекшена, что и обеспечивает работоспособность.
Mac Firefox
1
0
batc0h
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
> Ну это уже вторым запросом что-ли? А если за это время еще один добавился?

Если используется LAST_INSERT_ID(), то да, вторым запросом.

Значение последнего autoinc значения хранится отдельно для каждого соединения.

Если используется PHP функция mysql_insert_id(), то даже запроса к серверу не происходит -- значение берётся из метаданных, присланных последним запросом.

всего комментариев: 11

<< предыдущая заметка следующая заметка >>


Include not found: `/home/www/lleo.me/blog/template/_reklamnaya_lirica.htm`