SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 06.11.2010 13:59:28

vunshpunsh
Участник
Зарегистрирован: 06.11.2010
Сообщений: 3

Получить ID только что созданной записи в другой таблице

Добрый день.

Есть 2 таблицы:
Организации:


CREATE TABLE `_ORGANIZATION` (
  `ID` int(11) NOT NULL AUTO_INCREMENT,
  `Name` varchar(255) NOT NULL DEFAULT '',
  PRIMARY KEY (`ID`)
) ENGINE=InnoDB AUTO_INCREMENT=101 DEFAULT CHARSET=utf8;
 


Контактные лица:

CREATE TABLE `_CONTACT_PERSON` (
  `ID` int(11) NOT NULL AUTO_INCREMENT,
  `Name` varchar(255) NOT NULL DEFAULT '',
  `OrganizationID` int(11) NOT NULL DEFAULT '0',
  PRIMARY KEY (`ID`),
  KEY `yyy` (`OrganizationID`),
  CONSTRAINT `yyy` FOREIGN KEY (`OrganizationID`) REFERENCES `_ORGANIZATION` (`ID`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8;
 


Я хочу выполнить на добавление записи в таблицу _CONTACT_PERSON, но для этого мне нужно получить ID, добавленный в таблицу _ORGANIZATION, внутри первой транзакции.

start transaction;
insert into _ORGANIZATION (ID) VALUES(default);
start transaction;
insert into _CONTACT_PERSON (ID,OrganizationID) VALUES(default,????????????????????);
commit;
commit;
 


Пожалуйста, подскажите как это сделать?

Неактивен

 

#2 06.11.2010 21:30:14

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Получить ID только что созданной записи в другой таблице

SELECT LAST_INSERT_ID();

Неактивен

 

#3 07.11.2010 16:35:21

vunshpunsh
Участник
Зарегистрирован: 06.11.2010
Сообщений: 3

Re: Получить ID только что созданной записи в другой таблице

Спасибо!

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson