powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / подзапрос в операторе INSERT
7 сообщений из 7, страница 1 из 1
подзапрос в операторе INSERT
    #35291349
YuriyV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет!
есть такие таблицы:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
таблица информации
(поле info_id является ключевым)
CREATE TABLE info(info_id INTEGER, name VARCHAR( 32 ));

таблица пользователей 
(поле user_id является ключевым, поле info_id определено как внешний ключ к таблице info )
CREATE TABLE users(user_id INTEGER, name VARCHAR( 32 ), info_id INTEGER default NULL);

таблица групп 
(поле group_id является ключевым)
CREATE TABLE groups(group_id INTEGER, name VARCHAR( 32 ));

таблица связей групп и пользователей 
(поле uid_gidID является ключевым, поле user_id определено как внешний ключ к таблице
users, поле group_id определено как внешний ключ к таблице groups)
CREATE TABLE uid_gid(uid_gidID INTEGER NOT NULL AUTO_INCREMENT,user_id INTEGER, group_id INTEGER);

Подскажите, пожалуйста, как с помощью запроса заполнить таблицу связей uid_gid.
Думаю, что нужно использовать подзапрос в операторе INSERT, но возникает проблема с полем uid_gidID.
...
Рейтинг: 0 / 0
подзапрос в операторе INSERT
    #35291805
Фотография Сергей Васкецов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Используете insert ... values ... или insert ... select ...?
2. Какая именно "проблема с полем uid_gidID"?
...
Рейтинг: 0 / 0
подзапрос в операторе INSERT
    #35292205
YuriyV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей Васкецов1. Используете insert ... values ... или insert ... select ...?
2. Какая именно "проблема с полем uid_gidID"?

1. Можно использовать и insert ... values ... и insert ... select ..., пробовал с insert ... select ..., но не могу составить рабочий запрос.
2. в поле uid_gidID надо вставлять значение NULL. Как составить рабочий запрос? Если можно примерчик, пожалуйста.
...
Рейтинг: 0 / 0
подзапрос в операторе INSERT
    #35292266
Фотография Сергей Васкецов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuriyV2. в поле uid_gidID надо вставлять значение NULL
Вы уж разберитесь сами, как это согласуется с
Код: plaintext
uid_gidID INTEGER NOT NULL AUTO_INCREMENT
...
Рейтинг: 0 / 0
подзапрос в операторе INSERT
    #35294391
YuriyV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почему не работает такой запрос?
Код: plaintext
1.
insert into uid_gid 
values (null,"select user_id from users where name = 'студент'", 2 );
в MySQL вылетает ошибка
Cannot add or update a child row: a foreign key constraint fails

Такой запрос работает
Код: plaintext
1.
insert into uid_gid 
values (null, 1 , 2 );
...
Рейтинг: 0 / 0
подзапрос в операторе INSERT
    #35294509
Bely
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuriyVПочему не работает такой запрос?
Код: plaintext
1.
insert into uid_gid 
values (null,"select user_id from users where name = 'студент'", 2 );
в MySQL вылетает ошибка
Cannot add or update a child row: a foreign key constraint fails потому что он не верный.

Попробуй так:
Код: plaintext
1.
2.
3.
insert into uid_gid 
select NULL, user_id,  2  
from users 
where name = 'студент';
...
Рейтинг: 0 / 0
подзапрос в операторе INSERT
    #35294801
YuriyV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bely
Попробуй так:
Код: plaintext
1.
2.
3.
insert into uid_gid 
select NULL, user_id,  2  
from users 
where name = 'студент';


Благодарю, за помощь.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / подзапрос в операторе INSERT
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]