m_slon Posted July 10, 2015 Share Posted July 10, 2015 Год назад я делал себе мультивалюту для престы 1.5 и всё чудесно работало. При изменении валюты выполнялся запрос примерно такого вида: UPDATE ps_product t1 JOIN ps_product_shop t2 ON t1.id_product=t2.id_product SET t1.price=ROUND(t1.base_price / 0.039), t2.price=ROUND(t1.base_price / 0.039) WHERE t1.base_currency=2; и автоматом изменялись цены на все товары с указанной валютой. Сейчас адаптировал с некоторыми изменениями под престу 1.6 и застрял на одном моменте. Этот запрос не работает! Даже если запускать его через phpMyAdmin. Больше грешу на используемый тип БД: в 1.5 используется MyISAM, в 1.6 - InnoDB (сама сделала при установке). Если дело только в этом, то прошу направить на путь истинный как побороть эту беду. Link to comment Share on other sites More sharing options...
absent Posted July 10, 2015 Share Posted July 10, 2015 On 7/10/2015 at 6:26 PM, m_slon said: Год назад я делал себе мультивалюту для престы 1.5 и всё чудесно работало. При изменении валюты выполнялся запрос примерно такого вида: UPDATE ps_product t1 JOIN ps_product_shop t2 ON t1.id_product=t2.id_product SET t1.price=ROUND(t1.base_price / 0.039), t2.price=ROUND(t1.base_price / 0.039) WHERE t1.base_currency=2;и автоматом изменялись цены на все товары с указанной валютой. Сейчас адаптировал с некоторыми изменениями под престу 1.6 и застрял на одном моменте. Этот запрос не работает! Даже если запускать его через phpMyAdmin. Больше грешу на используемый тип БД: в 1.5 используется MyISAM, в 1.6 - InnoDB (сама сделала при установке). Если дело только в этом, то прошу направить на путь истинный как побороть эту беду. Запрос должен выполняться в обоих типах. Какая выводится ошибка? Link to comment Share on other sites More sharing options...
m_slon Posted July 10, 2015 Author Share Posted July 10, 2015 В том-то и дело, что никакой. В phpMyAdmin пишет "Затронуто 0 строк. (Запрос занял 0.0023 сек.)" Пробовал делать так: SELECT * FROM ps_product t1 JOIN ps_product_shop t2 ON t1.id_product=t2.id_product FOR UPDATE; UPDATE ps_product t1 JOIN ps_product_shop t2 ON t1.id_product=t2.id_product SET t1.price=ROUND(t1.base_price / 0.039), t2.price=ROUND(t1.base_price / 0.039) WHERE t1.base_currency=2;Выдает: SELECT * FROM ps_product t1 JOIN ps_product_shop t2 ON t1.id_product=t2.id_product FOR UPDATE;# Строки: 98 UPDATE ps_product t1 JOIN ps_product_shop t2 ON t1.id_product=t2.id_product SET t1.price=ROUND(t1.base_price / 0.039), t2.price=ROUND(t1.base_price / 0.039) WHERE t1.base_currency=2;# MySQL вернула пустой результат (т.е. ноль строк). В какую сторону копать непонятно. Link to comment Share on other sites More sharing options...
m_slon Posted July 10, 2015 Author Share Posted July 10, 2015 UPD. Уже и в престе 1.5 перестало работать. Накатал хостеру тикет с ошибкой, пусть пока разбираются. Link to comment Share on other sites More sharing options...
XAMelleOH Posted October 26, 2015 Share Posted October 26, 2015 Название темы не соответствуем содержанию. Я думал будет батл что лучше майисам иноидб Разобрались с проблемой? Если да, то как ? Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now