Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MySQL > значения автоинкрементного поля


Автор: ОВиталий 11.7.2010, 21:21
Здравствуйте. 
есть таблица Сообщений (айди, текст) и таблица комментариев (id, message_id, text). 
Можно создать сообщение и сразу же его прокомментировать. как правильно это сделать 1 или 2 запросами?
а то я сначала делал инсерт Сообщения, потом получал его id, затем заносил в базу комментарий к сообщению(3 запроса).

Автор: skyboy 11.7.2010, 22:44
никак. до вставки в таблицу не возможно определить, каким будет значение autoincrement-поля(я так понимаю, речь об автоинкременте).
скажи, а зачем тебе именно "один запрос"?

Автор: ОВиталий 11.7.2010, 22:50
Цитата

скажи, а зачем тебе именно "один запрос"? 


просто для красоты кода.

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

Автор: skyboy 11.7.2010, 23:25
Цитата(ОВиталий @  11.7.2010,  21:50 Найти цитируемый пост)
может есть  способ при инсерте выводить значение уникально поля(id) 

выводить куда? я тебе скажу сразу: такого нет, но мне было бы интересно узнать, как ты себе подобное представлял?

Автор: ОВиталий 12.7.2010, 21:30
представляю так(из ходя из задания описанного выше): insert into `mydb`.`messages` (message_text) value (Текст). а в ответ получаю id сообщения

Автор: skyboy 12.7.2010, 22:00
используй http://dev.mysql.com/doc/refman/5.1/en/information-functions.html#function_last-insert-id сразу после выполнения insert 
Код

select last_insert_id()

или http://dev.mysql.com/doc/refman/5.1/en/mysql-insert-id.html из соответствующего используемому языку API

Автор: ОВиталий 13.7.2010, 21:52
то что надо. спасибо!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)