![]() |
Как добавить запись в таблицу, имеющую внешний ключ
База MySQL. Есть таблица отделов Units со столбцами: Unit_Id, Unit_Name. Unit_Id - Primary key. Далее есть таблица сотрудников Users со столбцами User_Id, User_name, Unit_Id. User_Id - Primary key а Unit_Id естественно внешний ключ. Таблица отделось Units заполнена, а таблицу сотрудников надо будет заполнять (или добавлять/удалять) начальникам отделов. Начальник отдела знает только название своего отдела а идентификатор, естественно не знает. Как составить запрос на вставку (или удаление) сотрудника, чтобы идентификатор отдела был взят из таблицы отделов по его названию?
И, кроме того, как все это сделать с помощью пакетной вставки - сотрудников много. Более точное описание таблиц такое: Units Код:
Код:
Код:
Imysql> INSERT INTO Users(User_name) VALUES( 'Иванов И.' ); Как все-таки вставить эти записи? Хотя бы без пакетной вставки! |
Цитата:
Что можно сделать: Код:
insert into USERS(user_name, unit_id) (select 'Иванов И.', unit_id from Units where unit_name='Отдел Систем Управления') |
Спасибо, разобрался. В моем втором запросе вместо WHERE Unit_Id = 0 надо было ставить WHERE Unit_Id IS NULL; так как NULL и 0 не одно и то же. Впрочем Delirium, - Ваш вариант получше будет - все-таки один запрос.
|
Всегда рады помочь :)
|
Время: 06:21. |
Время: 06:21.
© OSzone.net 2001-