Вставьте в MySQL огромное количество строк, основанных на подзапросе ... возникли проблемы - PullRequest
0 голосов
/ 11 мая 2011

Итак, я пытаюсь вставить строку NONE, $ country для каждой страны, которая существует в таблице.

Это должно выглядеть как

   Afghanistan, NONE
   Albania, NONE
   Andorra, None

... То есть в дополнение к провинциям, перечисленным для каждой страны ... они выглядят так:

| Zambia                    | Western                                            |
| Zimbabwe                  | Bulawayo                                           |
| Zimbabwe                  | Harare                                             |
| Zimbabwe                  | Manicaland                                         |
| Zimbabwe                  | Mashonaland Central                                |
| Zimbabwe                  | Mashonaland East                                   |
| Zimbabwe                  | Mashonaland West                                   |
| Zimbabwe                  | Masvingo                                           |
| Zimbabwe                  | Matabeleland North                                 |
| Zimbabwe                  | Matabeleland South                                 |
| Zimbabwe                  | Midlands  

Это код, который я пытаюсь, но с треском провалился.

insert into countries2 (province,country) 
VALUES ('NONE', (select distinct country from countries2));

Я просто получаю

You can't specify target table 'countries2' for update in FROM clause

Но также выдает ошибку:

Subquery returns more than 1 row

Ответы [ 2 ]

1 голос
/ 11 мая 2011
insert into countries2 (province,country) 
 select distinct 'NONE', country from countries2

Вы можете проверить порядок полей!

0 голосов
/ 11 мая 2011

Я предполагаю, что вы на самом деле просто хотите обновить существующую таблицу здесь? Попробуйте

UPDATE countries2 SET province = 'NONE'
...