За последние 24 часа нас посетили 32850 программистов и 1819 роботов. Сейчас ищут 924 программиста ...

копируем из одной таблице в другую бд

Тема в разделе "PHP для новичков", создана пользователем wolf777, 6 ноя 2014.

  1. wolf777

    wolf777 Новичок

    С нами с:
    26 авг 2014
    Сообщения:
    207
    Симпатии:
    0
    как скопировать из одной таблице в другую базу данных на php?
    из таблице albums в таблицу photo, надо как то скопировать значение aid в album_id, не знаю это воще реально или нет?
    Код (Text):
    1. $aid=$db->super_query("Select aid, cat FROM `".PREFIX."_albums` WHERE user_id = '{$user_id}' AND cat='1'");
    2.  
    3. //Вставляем фотографию
    4. $db->query("INSERT INTO `".PREFIX."_photos` (album_id, photo_name, user_id, date, position) VALUES ('{$aid}', '{$image_rename}{$res_type}', '{$user_id}', '{$date}', '{$position_all}')");
     
  2. metadon

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

    С нами с:
    6 фев 2006
    Сообщения:
    779
    Симпатии:
    0
    Ну получить нужные данные из первой таблице, и подготовить их в нужном формате для второй таблицы, потом внести данные во вторую таблицу.
    Всё так же как и через phpmyadmin, экспорт импорт, но после экспорта меняете название таблицы или структуру данных, по ситуации.
     
  3. Хыиуду

    Хыиуду Активный пользователь

    С нами с:
    3 июн 2014
    Сообщения:
    618
    Симпатии:
    5
    Так вам надо перенести между разными таблицами или разными БД?
     
  4. wolf777

    wolf777 Новичок

    С нами с:
    26 авг 2014
    Сообщения:
    207
    Симпатии:
    0
    у меня имеется таблица albums в ней имеется строка aid строка имеет автоинкремент, запись создается при регистрировании на сайте автоматически.
    имеется вторая таблица photo в ней есть строка album_id вот надо как то сделать чтоб при загрузки фотографии в строку album_id копировалось значение из таблицы albums из строки aid
     
  5. metadon

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

    С нами с:
    6 фев 2006
    Сообщения:
    779
    Симпатии:
    0
    Ну так получи данные потом сформируй нужный sql запрос и перенеси таким образом данные в другую таблицу
     
  6. wolf777

    wolf777 Новичок

    С нами с:
    26 авг 2014
    Сообщения:
    207
    Симпатии:
    0
    ну а как это сделать в коде? пытался сделать таким образом
    Код (Text):
    1.  $db->query("INSERT INTO `".PREFIX."_photos`  (album_id, photo_name, user_id, date, position) VALUES ('{$aid}', '{$image_rename}{$res_type}', '{$user_id}', '{$date}', '{$position_all}') Select aid FROM `".PREFIX."_albums`");
    ну так не работает
     
  7. Хыиуду

    Хыиуду Активный пользователь

    С нами с:
    3 июн 2014
    Сообщения:
    618
    Симпатии:
    5
    Не знаю, через какой движок вы работаете с БД, но есть функция, которая получает ID последней вставленной записи (например, mysqli_insert_id). Вот его берите и вставляйте в photo
     
  8. wolf777

    wolf777 Новичок

    С нами с:
    26 авг 2014
    Сообщения:
    207
    Симпатии:
    0
    вставлял так $aid = $db->insert_id(); ну это не прокатит

    Добавлено спустя 34 секунды:
    мне нужно не создать запись aid а скопировать из одной таблице в другую
     
  9. Хыиуду

    Хыиуду Активный пользователь

    С нами с:
    3 июн 2014
    Сообщения:
    618
    Симпатии:
    5
    Т.е. вы не создаете альбом одновременно с загрузкой фотографий, а пихаете в существующий? А как выбрать, какой именно?
    Если последний - то select max(aid) from albums. А если не последний, то какой?
     
  10. wolf777

    wolf777 Новичок

    С нами с:
    26 авг 2014
    Сообщения:
    207
    Симпатии:
    0
    Код (Text):
    1. Т.е. вы не создаете альбом одновременно с загрузкой фотографий, а пихаете в существующий? А как выбрать, какой именно?
    2. Если последний - то select max(aid) from albums. А если не последний, то какой?
    вот в этом заключается вся проблема, ну мне самое главное копировать значение с aid в album_id а определяю я какая запись по cat если cat=1 то выбираем нужный нам альбом
     
  11. metadon

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

    С нами с:
    6 фев 2006
    Сообщения:
    779
    Симпатии:
    0
    Зря себя мучаете, лучше поучили основы php и mysql
     
  12. wolf777

    wolf777 Новичок

    С нами с:
    26 авг 2014
    Сообщения:
    207
    Симпатии:
    0
    metadon я попросил помощи, а не советов что лучше
     
  13. metadon

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

    С нами с:
    6 фев 2006
    Сообщения:
    779
    Симпатии:
    0
    Так ты просишь помощи в основах, 2 + 2 = 4
    Тут всё просто получил данные и пихай их куда тебе нужно, что конкретно не выходит?
    На чём у тебя ступор? Может получение aid из album_id?
    распиши по шагам что ты хочешь получить
     
  14. wolf777

    wolf777 Новичок

    С нами с:
    26 авг 2014
    Сообщения:
    207
    Симпатии:
    0
    metadon
    у меня имеется таблица albums в ней имеется строка aid строка имеет автоинкремент, запись создается при регистрировании на сайте автоматически. тоесть мы зарегались и нам автоматически создалась запись в таблице aid
    имеется вторая таблица photo в ней есть строка album_id вот надо как то сделать чтоб при загрузки фотографии в таблицу photo записывалось такое же значение в строку album_id как в строке aid таблице albums.

    просто значение aid например у нас 53 <- это номер альбома, album_id тоже 53 <- это указывает фотографии что она должна загрузится в альбом 53, вот альбом у меня создается при регистрации записывает в таблицу albums в строку aid например значения 53, а вот когда загружаю фотку она записывает в таблицу photo в строку album_id значения 0. т.е не может определить альбом, поэтому я думаю может как то можно копировать значения aid в значения album_id
     
  15. metadon

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

    С нами с:
    6 фев 2006
    Сообщения:
    779
    Симпатии:
    0
    Шаги лучше разбивать на список действий.

    очень запутанно написано, вместо album_id = 0 пиши 53, в чём проблема?
     
  16. wolf777

    wolf777 Новичок

    С нами с:
    26 авг 2014
    Сообщения:
    207
    Симпатии:
    0
    проблема в том что автоматически должно записываться, а не вручную
    там ведь autoincrement, а значит при создании альбома значения в aid пишется автоматически, а в album_id нет
     
  17. metadon

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

    С нами с:
    6 фев 2006
    Сообщения:
    779
    Симпатии:
    0
    там записывай автоматически, почему не получается? не знаешь как aid получить?
    то что там авто прибавление тут не причём, после создание записи, получи aid через where по тем данным которые ты отправлял при insert
     
  18. wolf777

    wolf777 Новичок

    С нами с:
    26 авг 2014
    Сообщения:
    207
    Симпатии:
    0
    не знаю как в album_id получить такое же значения как в aid
     
  19. metadon

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

    С нами с:
    6 фев 2006
    Сообщения:
    779
    Симпатии:
    0
    то что там авто прибавление тут не причём, после создание записи, получи aid через where по тем данным которые ты отправлял при insert
     
  20. wolf777

    wolf777 Новичок

    С нами с:
    26 авг 2014
    Сообщения:
    207
    Симпатии:
    0
    я так пытался получить

    Код (Text):
    1. INSERT INTO `".PREFIX."_photos`  (album_id, photo_name, user_id, date, position) VALUES ('{$aid}', '{$image_rename}{$res_type}', '{$user_id}', '{$date}', '{$position_all}') Select aid FROM `".PREFIX."_albums` WHERE album_id={$aid}
    чтоб при создании записи (фотки) в таблице photo определялось album_id, ну такая конструкция не работает
     
  21. metadon

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

    С нами с:
    6 фев 2006
    Сообщения:
    779
    Симпатии:
    0
    aid тебе не известен, а вот кое что из этого (photo_name, user_id, date, position) ты знаешь, вот из их комбинации создай уникальное значение и в select добавь в условие where
     
  22. wolf777

    wolf777 Новичок

    С нами с:
    26 авг 2014
    Сообщения:
    207
    Симпатии:
    0
    ммм хорошая идея, щас попробую
     
  23. metadon

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

    С нами с:
    6 фев 2006
    Сообщения:
    779
    Симпатии:
    0
    там можно взять несколько полей чтобы получить уникальное условие, например photo_name, user_id и date
     
  24. wolf777

    wolf777 Новичок

    С нами с:
    26 авг 2014
    Сообщения:
    207
    Симпатии:
    0
    metadon спасибо вам огромное) сделал как вы посоветовали и все заработало
     
  25. Хыиуду

    Хыиуду Активный пользователь

    С нами с:
    3 июн 2014
    Сообщения:
    618
    Симпатии:
    5
    Лучше все-таки разобраться, почему не работает insert_id(). Это уж вопрос к движку. ID для того и нужны, чтобы адресоваться к данным не примерно, а точно.