SQL. Как скопировать данные из одного столбца в другой

Переношу один сайтик клиента с самописного движка на wordpress.
Потребовалось скопировать данные из одного столбца в другой, ибо ручками перебивать ~1000 записей не хотелось.

«Облазил весь интернет»(с) и долго не мог найти решения. А оно оказалось до жути простым:

UPDATE table_name SET COL1 = COL2

В моем случае это было так:

UPDATE wp_posts SET post_name = guid

Это в случае если столбцы у вас находятся в одной таблице.
Если же столбцы в разных таблицах то можно попробовать так:

INSERT INTO имя_таблицы_в_которую_копируем(`имя_принимающего_столбца`) 
SELECT имя_исходного_столбца FROM исходная_таблица

Например так:

INSERT INTO wp_term_relationships(`object_id`) SELECT ID FROM wp_posts
Запись опубликована в рубрике сервер с метками . Добавьте в закладки постоянную ссылку.

10 комментариев: SQL. Как скопировать данные из одного столбца в другой

  1. Аноним говорит:

    Данный код (второй) будет вставлять данные после всех записей,т.е. в конце таблицы..а это отстой!

    • DPolyakov говорит:

      Тогда INSERT можно попробовать заменить на UPDATE.
      Мне нужно было скопировать данные в пустой столбец.

  2. Аноним говорит:

    Огромное спасибо, как раз это искал, с остальными нюансы сам разберусь!
    P.S. хотя friz прав, 2 код добавляет в конец записи =)

  3. Аноним говорит:

    Спасибо. Очень помогло.

  4. Аноним говорит:

    я таблицу создал. теперь надо из одного столбца в другой столбец копировать все тежи данные. как мне это сделать? я в sql новичок и незнаю куда писать эту вашу процедуру. помогите прошу.

  5. Ljuter говорит:

    А как ограничить кол-во символов в COL1 при копировании из COL2 ?

  6. мммм говорит:

    Спасибо огромное. Который раз уже помогает.

  7. Евгений говорит:

    Спасибо за статью!

    Только этот запрос:
    UPDATE table_name SET COL1 = COL2

    Надо понимать наоборот (я про COL2 и COL1):
    UPDATE table_name SET COL2 = COL1

  8. Mihail говорит:

    Spasibo!!!

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *