June 6, 201213 yr Нужно перенести данные с одного столбца в другой, столбцы в разных таблицах. Выполняю запрос:REPLACE INTO принимающая таблица(`принимающий столбец`) SELECT столбец отправитель FROM таблица отправитель Майадмин пишет что действие удачно выполнено. Но результата никакого - данные не заменились.
June 6, 201213 yr Недостаточно информации. 1. Столбцы уже есть? 2. Другие столбцы в таблице есть?3. На чем строится связь между строками таблицы? И есть ли она вообще? В зависимости от ответов запрос может совершенно изменяться от: UPDATE table1 t1 SET t1.column1 = (SELECT t2.column2 FROM table2 t2 WHERE t2.id = t1.id) до: INSERT INTO table1 SELECT * FROM table2 Ваш запрос не выполняется, т.к. REPLACE работает по ключу, а ключа у вас, скорее всего, нет.
June 6, 201213 yr Author 1. Столбцы уже есть? Да. 2. Другие столбцы в таблице есть?Тоже есть. 3. На чем строится связь между строками таблицы? И есть ли она вообще?Дело в том что у меня стоял мод [EN30] Ajax Thanks v1.0.2, затем обновил до версии 1.0.5. Всё прошло успешно, за исключением того что число выставленного количества благодарностей у юзеров обнулилось. Как оказалось в старой версии мода числовое кол-во спасибо находилось в таблице members (столбец thanked), тогда как в новой версии мода это значение перенесено в таблицу profile_portal (столбец также thanked).Вот я и решил заменить их.
June 6, 201213 yr Ага, т.е. переносите столбец thanked из members в profile_portal. Тогда запрос такой: UPDATE profile_portal pp SET pp.thanked = (SELECT m.thanked FROM members m WHERE m.member_id = pp.pp_member_id)
June 13, 201213 yr Author Ещё один вопрос по запросам к базе.Хочу удалить приватные сообщения которые старше скажем 3 месяцев.По определённым юзерам запросы составил, и они выполнились:DELETE FROM ibf_message_posts WHERE msg_author_id=1 DELETE FROM ibf_message_topic_user_map WHERE map_user_id=1 DELETE FROM ibf_message_topics WHERE mt_to_member_id=1 DELETE FROM ibf_message_text WHERE msg_author_id=1 А вот по времени - незнаю как составить.
June 14, 201213 yr DELETE p.*, um.*, t.* FROM ibf_message_posts p, ibf_message_topic_user_map um, ibf_message_topics t WHERE t.mt_date < UNIX_TIMESTAMP('2012-02-01') AND p.msg_topic_id=t.mt_id AND um.map_topic_id=t.mt_id Удалит все ТЕМЫ лс (со всеми сообщениями из них) созданные раньше чем 2012-02-01 PSibf_message_text в 3х больше нету
June 16, 201213 yr Author DELETE p.*, um.*, t.* FROM ibf_message_posts p, ibf_message_topic_user_map um, ibf_message_topics t WHERE t.mt_date < UNIX_TIMESTAMP('2012-02-01') AND p.msg_topic_id=t.mt_id AND um.map_topic_id=t.mt_id Удалит все ТЕМЫ лс (со всеми сообщениями из них) созданные раньше чем 2012-02-01Большущее Спасибо! PSibf_message_text в 3х больше нетуАга. Эта таблица ещё осталась от версии форума 1.3 На днях её снёс.
June 16, 201213 yr Author Всё отлично, вот только с таблицы ibf_message_topic_user_map практически ничего не удалено. Как составить запрос только по этой таблице?
June 16, 201213 yr Author Значит там ничего больше удалять не нужно. Лучше не трогать.Просто остались пустые маркеры, вот как на скрине:
May 30, 20169 yr Author Удалит все ТЕМЫ лс (со всеми сообщениями из них) созданные раньше чем 2012-02-01А можно такой же запрос составить, только что бы в нём было время скажем с 10.02.2015 по 04.01.2016?
May 30, 20169 yr А можно такой же запрос составить, только что бы в нём было время скажем с 10.02.2015 по 04.01.2016? Тут обычное сравнение чиселМожете такDELETE p.*, um.*, t.* FROM ibf_message_posts p, ibf_message_topic_user_map um, ibf_message_topics t WHERE t.mt_date > UNIX_TIMESTAMP('2015-02-10') AND t.mt_date < UNIX_TIMESTAMP('2016-01-04') AND p.msg_topic_id=t.mt_id AND um.map_topic_id=t.mt_id
Нужно перенести данные с одного столбца в другой, столбцы в разных таблицах. Выполняю запрос:
Майадмин пишет что действие удачно выполнено. Но результата никакого - данные не заменились.