|
MySQL.RU - Webboard
Вернуться
Значение AUTO_INCREMENT field после вставки (Константин) 23/11/2006 - 11:11:41
Re: Значение AUTO_INCREMENT field после вставки (DNick) 23/11/2006 - 16:48:38
> Original message text:
> From: Константин - 23/11/2006 - 11:11:41
> Subject:Значение AUTO_INCREMENT field после вставки
> -----------------
> Добрый день!
> Работаю с MySQL через C#. Работаю в нескольких потоках. Типичная ситуация (к примеру) Таблица:
> table (int id not null auto_increment, char(256) name)
> делаем простую вставку INSERT INTO table (name) VALUES ("test");
>
> И хотим получить сгенерированный аутоинкрементом id. Как это сделать? Вызвать mysql_insert_id? т.е. примерно так:
> mysql_query("INSERT ...");
> mysql_insert_id();
> а кто гарантирует что между этимим двумя вызовами никто не выполнит INSERT в другом потоке и мы получим id от левого ряда? Что делать? Синхронизацию на вставке??
> Может есть другой какой-то путь? В идеале конечно что-то типа этого
> int mysql_insert_id("INSERT ...");
>
From: DNick - 23/11/2006 - 16:48:38
Subject:Значение AUTO_INCREMENT field после вставки
-----------------
Так вроде с версии 4.0, если ты соединение не закрываешь, то тебе правильный id придет, не смотря на то кто еще что и куда инсертит.
[Это сообщение - спам!]
Последние сообщения из форума
Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL,
версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
30173
|
|