За последние 24 часа нас посетили 34452 программиста и 1315 роботов. Сейчас ищут 1122 программиста ...

MySQL запросом перенести инфу с одной таблицы в другую

Тема в разделе "MySQL", создана пользователем r3l0c, 8 фев 2013.

  1. r3l0c

    r3l0c Активный пользователь

    С нами с:
    10 янв 2013
    Сообщения:
    453
    Симпатии:
    4
    Короче есть таблица, допустим с полями field_a,field_b,field_c
    И есть таблица с полями field_d,field_e,field_f

    Как одним запросом перенести все строки из одной таблицы в другую?) Не могу сообразить, малость нубас в mysql
     
  2. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    insert into t1 (f1,f2,f3) select (g4,g5,g6) from t2
    то есть слева объявляем очередность полей целевой таблицы, справа - очередность полей в исходной.
     
  3. r3l0c

    r3l0c Активный пользователь

    С нами с:
    10 янв 2013
    Сообщения:
    453
    Симпатии:
    4
    а, все, понял, спасибо огромное), я думал что примерно так и будет, но не был уверен)
     
  4. r3l0c

    r3l0c Активный пользователь

    С нами с:
    10 янв 2013
    Сообщения:
    453
    Симпатии:
    4
    Продолжение:
    Делаю так:
    Код (Text):
    1.  
    2. SET @b=1;
    3.  
    4. WHILE
    5. (@b=1)
    6. DO
    7. тут что-то делаем...
    8. END WHILE;
    Мне еррор вылазит--
    MySQL 5.5
    Я уже запарился). Пробовал
    и дальше в while его, но тоже еррор вылазит.

    Полностью что я пытаюсь сделать:
    Код (Text):
    1. SET @b=1;
    2. SET @i=2;
    3.  
    4. WHILE
    5. (@b=1)
    6. DO
    7. SET @b=SELECT COUNT(*) FROM `ibv_members` WHERE `member_id`=@i LIMIT 1;
    8. INSERT INTO `phpfox_user`
    9. (`user_id`,`profile_page_id`,`server_id`,`user_group_id`,`status_id`,`view_id`,`user_name`,`full_name`,`password`,`password_salt`,`email`,`gender`,`birthday`,`birthday_search`,`country_iso`,`language_id`,`style_id`,`time_zone`,`dst_check`,`joined`,`last_login`,`last_activity`,`user_image`,`hide_tip`,`status`,`footer_bar`,`invite_user_id`,`im_beep`,`im_hide`,`is_invisible`,`total_spam`,`last_ip_address`,`feed_sort`)
    10.  
    11. VALUES('','','0','2','0','7',
    12. (select(`name`) from `ibv_members`  where `member_id`=@i LIMIT 1),
    13. (select(`members_display_name`) from `ibv_members`  where `member_id`=@i LIMIT 1),
    14. (select(`conv_password`) from `ibv_members` where `member_id`=@i LIMIT 1),
    15. '',
    16. (select (`email`) from `ibv_members` where `member_id`=@i LIMIT 1),
    17. '0','0','','RU','','0',NULL,'0','0','0','0','0','0','0','0','0','0','0','0','0',NULL,'0');
    18. SET @i=@i+1;
    19. END WHILE;
    Добавлено спустя 34 минуты 45 секунд:
    Решение--хранимая процедура.
    Код (Text):
    1. DELIMITER ////
    2. CREATE PROCEDURE `move_usersz`()
    3. BEGIN
    4.  
    5. DECLARE  cur_id SMALLINT;
    6. DECLARE last_id SMALLINT;
    7.  
    8. SET cur_id=2;
    9. SET last_id=1780;
    10.  
    11. WHILE
    12. cur_id < last_id
    13. DO
    14.  
    15. INSERT INTO `phpfox_user`
    16. (`user_id`,`profile_page_id`,`server_id`,`user_group_id`,`status_id`,`view_id`,`user_name`,`full_name`,`password`,`password_salt`,`email`,`gender`,`birthday`,`birthday_search`,`country_iso`,`language_id`,`style_id`,`time_zone`,`dst_check`,`joined`,`last_login`,`last_activity`,`user_image`,`hide_tip`,`status`,`footer_bar`,`invite_user_id`,`im_beep`,`im_hide`,`is_invisible`,`total_spam`,`last_ip_address`,`feed_sort`)
    17.  
    18. VALUES('','','0','2','0','7',
    19. (select(`name`) from `ibv_members`  where `member_id`=cur_id LIMIT 1),
    20. (select(`members_display_name`) from `ibv_members`  where `member_id`=cur_id LIMIT 1),
    21. (select(`conv_password`) from `ibv_members` where `member_id`=cur_id LIMIT 1),
    22. '',
    23. (select (`email`) from `ibv_members` where `member_id`=cur_id LIMIT 1),
    24. '0','0','','RU','','0',NULL,'0','0','0','0','0','0','0','0','0','0','0','0','0',NULL,'0');
    25. SET cur_id=cur_id+1;
    26. END WHILE;
    27. END;
    28. ////
    29. CALL move_usersz();
    30. DROP PROCEDURE IF EXISTS move_usersz;
    Только хостер вырубил блин), #1044 - Access denied