Задавайте вопросы, мы ответим
Вы не зашли.
Страниц: 1
Здравствуйте!
Прошу помочь разобраться с ситуацией.
Сменил тему 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 одновременно.
Неактивен
Неактивен
Спасибо за помощь!
Только выдаёт ошибку: «Неизвестный столбец 't.post_id' в 'where clause'»
Скриншот: http://joxi.ru/KAgzleyHKyv3W2
Неактивен
какая у вас версия mysql?
подозреваю, что это phpadmin тупит.
вы можете выполнить запрос в родном клиенте mysql?
или используйте второй способ из https://sqlinfo.ru/articles/info/19.html
Неактивен
Версия 5.7.29. Скриншот: http://joxi.ru/a2Xk8b6h4jn87m
Работаю в OpenServer. Возможно, из-за этого глюки с запросом.
Про второй способ не понял. Там решение ошибок 1093 и 1235. У меня 1054.
Неактивен
Лео написал:
Работаю в OpenServer. Возможно, из-за этого глюки с запросом.
Выполните запрос не через phpmyadmin, а через консольный клиент mysql (его можно запустить как через OpenServer, так и через командную строку операционки). Или попробуйте другой клиент, входящий в OpenServer (вроде как там HeidiSQL)
Лео написал:
Про второй способ не понял. Там решение ошибок 1093 и 1235. У меня 1054.
Ok. Упростите запрос до
Неактивен
Спасибо за подсказку!
Буду пробовать
Неактивен
Страниц: 1