SQL-запрос для копирования значений полей в одну таблицу - PullRequest
0 голосов
/ 14 марта 2012

У меня есть таблица (post_order), структурированная так:

   | post_id | term_id | post_type | taxonomy |
   |    1    |    6    |    post   | category |
   |    2    |    6    |    post   | category |
   |    3    |    6    |    post   | category |

Я хотел бы скопировать все поля в одну таблицу, но изменить term_id (скажем, например, 7)итак, таблица в итоге выглядела бы так:

   | post_id | term_id | post_type | taxonomy |
   |    1    |    6    |    post   | category |
   |    2    |    6    |    post   | category |
   |    3    |    6    |    post   | category |
   |    1    |    7    |    post   | category |
   |    2    |    7    |    post   | category |
   |    3    |    7    |    post   | category |

Я знаю, что могла бы сделать что-то вроде:

INSERT INTO post_order (post_id, term_id, post_type, taxonomy)
SELECT post_id, term_id, post_type, taxonomy
FROM post_order
WHERE term_id = 6

Но это сделало бы точную копию и не изменило term_id.

Как мне этого добиться?

1 Ответ

3 голосов
/ 14 марта 2012

Жесткий код от term_id до 7 в вашем INSERT утверждении:

INSERT INTO post_order (post_id, term_id, post_type, taxonomy)
SELECT post_id, 7, post_type, taxonomy
FROM post_order
WHERE term_id = 6
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...