За последние 24 часа нас посетили 44988 программистов и 1807 роботов. Сейчас ищут 1053 программиста ...

Возможно ли обойтись просто запросами?

Тема в разделе "MySQL", создана пользователем link00, 26 мар 2013.

  1. link00

    link00 Активный пользователь

    С нами с:
    1 сен 2012
    Сообщения:
    65
    Симпатии:
    0
    Доброго времени суток. Задачка заключается в следующем:
    Есть таблица product_price, Поля - product_id, product_price
    Нужно: выбрать все значения(цены) из product_price, умножить их на заданный множитель, записать обратно (т.е. обновить значения поля product_price) ? Возможно ли обойтись просто запросами MySQL? Или если нет, то как лучше делать средствами РНР?
     
  2. runcore

    runcore Старожил

    С нами с:
    12 окт 2012
    Сообщения:
    3.625
    Симпатии:
    158
    UPDATE tablename SET product_price=product_price*0.15 WHERE 1
     
  3. link00

    link00 Активный пользователь

    С нами с:
    1 сен 2012
    Сообщения:
    65
    Симпатии:
    0
    runcore
    А что такое WHERE 1 =) ?
     
  4. r3l0c

    r3l0c Активный пользователь

    С нами с:
    10 янв 2013
    Сообщения:
    453
    Симпатии:
    4
    условие
     
  5. link00

    link00 Активный пользователь

    С нами с:
    1 сен 2012
    Сообщения:
    65
    Симпатии:
    0
    Нет всмысли что за условие конкретно в этом коде
    Код (Text):
    1. UPDATE tablename SET product_price=product_price*0.15 WHERE 1
    Или я чо то туплю? Или он просто рыбу "WHERE 1" написал, имея ввиду сюда можно вставить нужное условие?
     
  6. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    типа того. это условие применится ко всем строкам ибо условие всегда дает труЪ
     
  7. link00

    link00 Активный пользователь

    С нами с:
    1 сен 2012
    Сообщения:
    65
    Симпатии:
    0
    Понятно! Благодарствую, усем спасибо)
     
  8. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    ну это не к скуэлю относится а к банальной логике
    не встречали конструкции типа if(0) или if(1)? по сути первое не будет выполнятся а второе будет выполнятся всегда. операторы условий действуют на уровне алгебры логики. когда вы строчите where id = 1 and ololo = 2 and foo = 'bar' - ему надо проверить три условия объединив их логикой И которая на выходе даст истину только если все условия верны. where id = 1 or ololo = 2 or foo = 'bar' - 1 будет при первом удовлетворенном равенстве. where 1 - по сути и задает безусловную истину.
     
  9. link00

    link00 Активный пользователь

    С нами с:
    1 сен 2012
    Сообщения:
    65
    Симпатии:
    0
    То что единица, это все понятно, логика, там истина, не в том вопрос, - WHERE можно не писать? Зачем оно написано например по умолчанию в phpMyAdmin когда заходишь на вкладку SQL, просто для шаблона, мол сюда пиши свое условие, так? или там WHERE что-то означает
     
  10. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    можно не писать.