2017-01-08 3 views
0

Я хочу обновить таблицы из csv. Теперь данные из csv импортируются в таблицу «temp_update_stany», но я не могу обновить таблицы. Запрос без ошибок, но ничего не обновляется.Обновление нескольких таблиц в одном запросе, в MySQL

Таблица из CSV является:

produkt|quantity|price|active|czas 

Запрос:

UPDATE lp2_product tabela 
     INNER JOIN lp2_stock_available stany ON (tabela.id_product = stany.id_product) 
     INNER JOIN lp2_product_lang lang ON (tabela.id_product = lang.id_product) 
     INNER JOIN temp_update_stany csv ON (tabela.id_product = csv.produkt) 
    SET 
     tabela.active = csv.active, 
     tabela.price = csv.price, 
     lang.available_now = csv.czas, 
     stany.quantity = csv.quantity 
    WHERE 
     csv.produkt = tabela.id_product 
     OR csv.produkt = lang.id_product 
     OR csv.produkt = stany.id_product 

и выход из запроса:

Modified records: 0 (Perform queries took 0.0322 seconds (s)). 

но, например, "lp2_product"/строка 'активный' имеет значение 0 для всех продуктов и temp_update_stany имеют значение 1 для всех.

Да, это предварительный шаблон и простой скрипт для обновления количества и цен.

+2

создать полный, проверенный пример этого, и я уверен, вы сразу увидите ошибку. –

+0

BTW: Вы можете полностью удалить предложение WHERE, потому что первое условие всегда верно (избыточно для предложения JOIN ON), а два других не имеют значения. –

+0

Что вы имеете в виду? У меня нет ошибок, но это ничего не обновляет. – Maku123PL

ответ

0

В соответствии с приведенными выше комментариями UPDATE сообщает о том, что нулевые строки затронуты, если нет изменения сети. Поэтому, если таблицы уже обновлены с желаемыми значениями, UPDATE не является оператором, и никакие строки не «затронуты».

Смежные вопросы