|
MySQL.RU - Webboard
Вернуться
Добавление записей в две таблицы (omickron) 24/11/2008 - 22:20:03
Re: Добавление записей в две таблицы (Василий) 25/11/2008 - 01:53:09
Re: Добавление записей в две таблицы (Ио) 25/11/2008 - 03:56:31
> Original message text:
> From: omickron - 24/11/2008 - 22:20:03
> Subject:Добавление записей в две таблицы
> -----------------
> Здравствуйте.
> Есть три таблицы:
> tbWorkers(idWorkers,vcWorkersName),
> tbJobs(idJobs,vcJobsName) и
> связующая tbWorkers_Jobs(idWorkers_Jobs,idWorkers,idJobs).
>
> Таблица tbJobs уже заполнена.
> Пользователь добавляет нового сотрудника в таблицу tbWorkers и тут же назиачает ему должность (idJobs=2). Обе эти операции нужно выполнить в одной транзакции.
> Вопрос: как?
> Дело в том, что когда я добавляю сотрудника, я не знаю его idWorkers. А в следующем запросе мне требуется добавить именно этот idWorkers в таблицу связи.
> Подскажите выход, пожалуйста?
>
> P.S. У меня есть мысль - после добавления сотрудника получить самый большой idWorkers из таблицы tbWorkers. Ведь это автоинкремент. Поэтому, самая последняя добавленная запись будет иметь самый большой idWorkers.
> Можно ли использовать такое решение? И будет ли оно всегда работоспособно при одновременной работе многих пользователей?
>
From: Ио - 25/11/2008 - 03:56:31
Subject:Добавление записей в две таблицы
-----------------
начало транзакции
insert раз
id = lastinsertid (чтото вроде этого)
insert два
конец транзакции
[Это сообщение - спам!]
Последние сообщения из форума
Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL,
версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
34595
|
|