|
Как скопировать значение одной строки в другую? Ох уж этот WordPress...
|
|||
---|---|---|---|
#18+
Здравствуйте! Прошу помочь разобраться с ситуацией. Сменил тему WordPress. Старая тема записывала кол-во просмотров статьи в произвольное поле с именем "post_views". А новая тема записывает кол-во просмотров в поле "post_views_new". В итоге такая картина в phpMyAdmin. Скриншот: http://joxi.ru/Q2K6KlyTvkeMRm И таких строк сотни, где на каждый post_id по два разных произвольных поля. Чтобы не терять просмотры у всех статей - хочу скопировать значения "post_views" в значения "post_views_new". Сначала думал, что всё просто и можно обойтись таким запросом: UPDATE wp_postmeta SET post_views_new=post_views Разумеется, не сработало, т.к. появляется ошибка, что "post_views_new" не является столбцом. Оно и понятно, это ведь строка. Да и я только начал изучать MySQL. То есть для одной и той же записи есть два разных произвольных поля с разными значениями кол-ва просмотров. Осталось придумать как скопировать старые значения в новые, чтобы я потом мог смело удалить старое поле. Надеюсь, описал правильно. Если что, вот ещё два поясняющих скриншота: 1. Старое произвольное поле: http://joxi.ru/LmGz6JlHlOEpGr 2. Новое произвольное поле: http://joxi.ru/eAOK3BJhk8W7aA Прошу помочь составить MySQL запрос, который бы решил мою задачу. Видимо, нужно как-то задействовать столбцы meta_key, meta_value и post_id одновременно. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2021, 15:03 |
|
Как скопировать значение одной строки в другую? Ох уж этот WordPress...
|
|||
---|---|---|---|
#18+
UPDATE my_table mt INNER JOIN (SELECT * FROM my_table WHERE meta_value IS NOT NULL ) as st ON mt.post_id = st.post_id SET mt.meta_value = st.meta_value WHERE mt.meta_value IS NULL Если не подходит, то в фиддле накидайте свои таблицы. https://dbfiddle.uk ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2021, 22:23 |
|
Как скопировать значение одной строки в другую? Ох уж этот WordPress...
|
|||
---|---|---|---|
#18+
Спасибо за помощь! Тут надо заменить переменные? Например, my_table - это wp_postmeta. Не понятно, где задаётся старое и новое поле, то есть post_views и post_views_new. И что делает NULL. Если что, новая тема уже заносит новые данные о просмотрах. То есть там не 0. Например, для одной статьи в переменной post_views_new уже набежало пару просмотров. В другой 1, и т.д. Числа разные. Просто показалось, что в вашем запросе идёт сравнение с нулём, поэтому не стал пока применять запрос. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2021, 22:13 |
|
Как скопировать значение одной строки в другую? Ох уж этот WordPress...
|
|||
---|---|---|---|
#18+
Я в вашем скрине не вижу название таблицы. Из вашего скрина : SET mt.meta_value = st.meta_value Идея была в том, что новые поля пустые. Тогда , как я понимаю остается искать новые поля по суффиксу "_new" Если в новой теме не ноль, как будете это решать? Полностью опишите задачу и накидайте, что-то в фиддле. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2021, 18:27 |
|
|
start [/forum/topic.php?fid=47&fpage=10&tid=1828116]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
35ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
32ms |
get tp. blocked users: |
1ms |
others: | 256ms |
total: | 363ms |
0 / 0 |