У меня есть две таблицы, связанные с одним отношением друг к другу.
родительской таблица простая таблица с идентификатором пользователя и first_name колонкойMYSQL копирует строки с разными идентификаторами
Parent
id | first_name
1 | Bob
2 | Dick
3 | Harry
4 | Tom
5 | Holly
Детская Таблица содержит выбор страхования для пользователя.
Детский
id | insu_id | user_id | year
1 | 188765 | 1 | 2008
2 | 188765 | 1 | 2009
3 | 188765 | 1 | 2010
4 | 188765 | 1 | 2011
5 | 188765 | 1 | 2012
Я хочу, чтобы скопировать выбор страхования от и ser_id
1 для всех остальных пользователей, т.е. 2, 3, 4, 5 в детской таблице, так что таблица должна выглядеть
id | insu_id | user_id | year
1 | 188765 | 1 | 2008
2 | 188765 | 1 | 2009
3 | 188765 | 1 | 2010
4 | 188765 | 1 | 2011
5 | 188765 | 1 | 2012
6 | 188765 | 2 | 2008
7 | 188765 | 2 | 2009
8 | 188765 | 2 | 2010
9 | 188765 | 2 | 2011
10 | 188765 | 2 | 2012
11 | 188765 | 3 | 2008
12 | 188765 | 3 | 2009
13 | 188765 | 3 | 2010
14 | 188765 | 3 | 2011
15 | 188765 | 3 | 2012
16 | 188765 | 4 | 2008
17 | 188765 | 4 | 2009
18 | 188765 | 4 | 2010
19 | 188765 | 4 | 2011
20 | 188765 | 4 | 2012
21 | 188765 | 5 | 2008
22 | 188765 | 5 | 2009
23 | 188765 | 5 | 2010
24 | 188765 | 5 | 2011
25 | 188765 | 5 | 2012
Что я могу сделать
INSERT INTO child(insurance_id, user_id, year) SELECT insurance_id, '2', year FROM child WHERE user_id = 1
INSERT INTO child(insurance_id, user_id, year) SELECT insurance_id, '3', year FROM child WHERE user_id = 1
INSERT INTO child(insurance_id, user_id, year) SELECT insurance_id, '4', year FROM child WHERE user_id = 1
INSERT INTO child(insurance_id, user_id, year) SELECT insurance_id, '5', year FROM child WHERE user_id = 1
Что я хочу
Я не хочу запускать 4 разных запроса INSERT INTO() SELECT
, потому что число пользователей может увеличиться за это. Я хочу, чтобы один запрос выбирал user_id динамически, а не жесткое кодирование.
замечательный !!! Это работало как прелесть, и да, мне пришлось изменить имена столбцов на реальные :-) +++++ – Rahi