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 Год назад я делал себе мультивалюту для престы 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