|
MySQL.RU - Webboard
Вернуться
Помогите получить автоинкремент (Vadim) 26/10/2006 - 16:58:03
Re: Помогите получить автоинкремент (ita) 26/10/2006 - 17:31:14
Re: Помогите получить автоинкремент (Vadim) 26/10/2006 - 18:15:56
Re: Помогите получить автоинкремент (WebGirl) 28/10/2006 - 22:31:40
Re: Помогите получить автоинкремент (Vadim) 30/10/2006 - 10:22:58
Re: Помогите получить автоинкремент (Vadim) 03/11/2006 - 09:41:42
Re: Помогите получить автоинкремент (Алексей) 21/10/2008 - 10:03:21
> Original message text:
> From: Vadim - 26/10/2006 - 16:58:03
> Subject:Помогите получить автоинкремент
> -----------------
> При создании новой записи использую триггер BEFOR INSERT, чтобы в скрытом поле записи создавалась ссылка, в которой участвует id создаваемой записи. Однако в момент BEFOR INSERT id записи еще не присвоен, так что пытаюсь получить автоинкремент записи через SELECT LAST_INSERT_ID(), но получаю что-то странное - у меня 19 запись, а он мне выдает 59674. У меня такое подозрение, что етот LAST_INSERT_ID() берет последний автоинкремент из всех работающих таблиц вообще, а не из той конкретно, где триггер срабатывает. Как мне его ткнуть носом, чтоб он из этой таблицы id брал? Триггер такой:
>
> BEGIN
> set @New_id = (SELECT LAST_INSERT_ID())+1;
> ...
> END
>
> Знаю что можно увидеть автоинкремент по
>
> SHOW TABLE STATUS FROM db_name like 'table_name'
>
> но как его оттуда выковырять, чтобы использовать можно было?
>
From: Vadim - 03/11/2006 - 09:41:42
Subject:Помогите получить автоинкремент
-----------------
Всем доброго времени суток!
Хочу сказать, что свою проблемку я решил, хотя и обходным путем. Автоинкремент я так и не получил, поэтому я придумал другое, может не слишком правильное решение, зато работающее. Автоинкремент мне был нужен, чтобы получить id создающейся записи и отправить его в другое место, чтобы потом оттуда можно было однозначно идентифицировать эту запись. Поскольку автоинкремент мне не покорился, я создал в этой таблице еще одно числовое поле 'nom', которое не является автоинкрементным. В триггере BEFOR INSERT я просто присваиваю ему значение max(nom)+1, что однозначно является уникальным значением записи. В принципе наверное можно было и не заводить такое поле и делать тоже самое с полем id, но я решил с ним не извращаться.
P.S. Извиняюсь, что не написал сразу как решил проблемку :)
[Это сообщение - спам!]
Последние сообщения из форума
Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL,
версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
34326
|
|