19:29 

php + mysql

Crazy Wizard
Псих
Есть таблица в mysql, в которой поле 'id' со значением автовозрастания (A_I).
Далее, c помощью php добавляю новую строку в базу. Как сразу же узнать, какое значение было присвоено полю 'id'? Делать запрос с сортировкой по id по убывания и брать первый результат? Или есть другие способы?

@темы: MySQL, PHP, Вопросы

Комментарии
2009-11-04 в 19:57 

Чудеса навигации
Если вы задаете переменную и присваиваете ей команду инсерта в sql, то эта переменная будет содержать id строки (или массив id вставленных строк), которая/ые создались в БД.

2009-11-04 в 19:58 

chipp
главное ебашилово, мои дорогие)

2009-11-04 в 20:11 

Crazy Wizard
Псих
Спасибо за ответы!

2009-11-04 в 20:15 

[revolver]
Люди никогда не достигнут совершенства, пока будут оставаться людьми...
Crazy Wizard, надо учесть, что с момента добавления записи и прихода ещё одного запроса, потенйиально может появиться ещё одна запись (одновременно нажали кнопку). Поэтому нужно писать хранимую программу, которая будет всё это делать и возвращать результат скрипту.

2009-11-04 в 20:27 

 
Какая жесть ><

$query = mysql_query("INSERT INTO table ...");
$new_row_id = mysql_insert_id();

2009-11-05 в 10:25 

--==SS==--
Sanctus Satanas
Или можно сделать через SELECT LAST_INSERT_ID().
Но вообще-то обычно проще mysql_insert_id(); :)

   

Сообщество PHP программистов

главная