Обновление нескольких полей в БД MYSQL

Тема в разделе "Импорт CSV", создана пользователем Djahat, 17 мар 2017.

  1. Djahat

    Djahat Well-Known Member Пользователи

    Регистрация:
    14 янв 2013
    Сообщения:
    543
    Город:
    Мордор
    Всем хорошего денька.
    Есть замечательная статья, как сделать PHP скрипт для Content Downloader - Ссылки недоступны для гостей

    Там описано как обновить ОДНУ строку базы данных, по ОДНОМУ полю:
    Код:
    mysql_query("UPDATE oc_product SET model='$_POST[model]', quantity='$_POST[quantity]' WHERE product_id='$_POST[id]'");
    Тут как бы все понятно, product_id это уникальный primery key, и скрипт легко найдет и обновит данные в этой строке. И в базе product_id для каждого товара уникален и только один.

    Но что делать, если поле WHERE, это не уникальный ключ, а мне надо обновить данные этим запросом в нескольких строках (5 товаров например), например по полю модель. Ведь с одинаковой моделью, может быть разное количество товаров, от 1 до 30.

    Задался вопросом как это сделать, естественно так не получиться, так как скрипт найдет первую строку и только по ней обновит.

    Код:
    mysql_query("UPDATE oc_product SET price='$_POST[price]', quantity='$_POST[quantity]' WHERE product_='$_POST[model]'");
    Кто то знает логику решения таких проблем ?
    Подскажите кому не жаль.......
    Может какой - нибудь цикл foreach примотать есть варианты ....
     
    Последнее редактирование: 17 мар 2017
  2. napserious

    napserious Well-Known Member Пользователи Активирован

    Регистрация:
    16 окт 2015
    Сообщения:
    324
    Ну model ведь тоже уникальное поле?
    Пробовали и на установить unique?
     
  3. Djahat

    Djahat Well-Known Member Пользователи

    Регистрация:
    14 янв 2013
    Сообщения:
    543
    Город:
    Мордор
    Не оно не уникальное. Но даже,если бы и было бы уникальное, то суть вопроса в другом. Как обновить много строк через запрос....

    Типа надо, что ли сначала сделать запрос к базе данных на выборку всех ID, содержащих это значение в model, в массив, а потом циклом сделать update для каждого значения в массиве по полученному ID. Я пока не понимаю...
     
    Последнее редактирование: 17 мар 2017
  4. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Здравствуйте.

    Думаю, самый верный путь - изучать мануалы по MySQL
    Ссылки недоступны для гостей
    Ссылки недоступны для гостей

    Сам с MySQL-запросами я особо не разбирался.

    С уважением к вам, Сергей.
     
    Djahat нравится это.
  5. Djahat

    Djahat Well-Known Member Пользователи

    Регистрация:
    14 янв 2013
    Сообщения:
    543
    Город:
    Мордор
    Я так понял что средствами mysql это сделать вообще не возможно.
    Надо как я понял PHP подключать.
    Кто-то готов сделать пример ? Могу оплатить.....
     
Similar Threads
  1. boodooboo
    Ответов:
    6
    Просмотров:
    2.893
  2. 998
    Ответов:
    3
    Просмотров:
    1.725
  3. koleso62
    Ответов:
    0
    Просмотров:
    1.119
  4. Andron
    Ответов:
    15
    Просмотров:
    72.156
  5. Stan
    Ответов:
    4
    Просмотров:
    1.042
Загрузка...

Поделиться этой страницей