[Вопрос] MySql - увеличить значение ячейки на 1

Discussion in 'PHP' started by Naydav, 24 Apr 2008.

  1. Naydav

    Naydav Elder - Старейшина

    Joined:
    30 Dec 2006
    Messages:
    439
    Likes Received:
    63
    Reputations:
    4
    [Тема закрыта] MySql

    Подскажите пжл, нет ли функции SQL типа MAX() или NOW(), для инкрементирования ячейки

    Что бы не делать сначала INSERT, а потом UPDATE,
    а одним запросом, первое, что пришло в голову
    Или можно более проще?
     
    #1 Naydav, 24 Apr 2008
    Last edited: 24 Apr 2008
  2. krypt3r

    krypt3r Elder - Старейшина

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    гг
    Code:
    UPDATE table SET value=value+1
    
     
    1 person likes this.
  3. Naydav

    Naydav Elder - Старейшина

    Joined:
    30 Dec 2006
    Messages:
    439
    Likes Received:
    63
    Reputations:
    4
    Ну вот я так и знал :) даже стыдно! Спс
     
    #3 Naydav, 24 Apr 2008
    Last edited: 24 Apr 2008
  4. SeGaLWS

    SeGaLWS Elder - Старейшина

    Joined:
    13 Jan 2008
    Messages:
    38
    Likes Received:
    8
    Reputations:
    0
    а у тебя id с каждым запросом увеличивается??? Если да то используй авто_инкримент
     
  5. Naydav

    Naydav Elder - Старейшина

    Joined:
    30 Dec 2006
    Messages:
    439
    Likes Received:
    63
    Reputations:
    4
    та это понятно, просто нужно в инет-магазе - уменьшение товара при покупке организовать было(amount)

    тема закрыта
     
  6. #Smith

    #Smith New Member

    Joined:
    20 Jun 2010
    Messages:
    96
    Likes Received:
    2
    Reputations:
    0
    Тоже так и знал, но решил погуглить.
    Спасибо за ответ!
     
  7. laska470

    laska470 New Member

    Joined:
    12 Jun 2012
    Messages:
    1
    Likes Received:
    0
    Reputations:
    0
    Пишу сюда, чтобы не создавать новую тему
    Code:
    UPDATE table SET field=IF(id IN("a","b","c","d","e"),field+1,"0")
    Данный запрос увеличивает значение на 2, почему, как сделать правильно?
    Поле `field` ENUM("0","1","2","3","4","5") NOT NULL DEFAULT "0"
     
    #7 laska470, 14 Sep 2013
    Last edited: 14 Sep 2013
  8. MegaByyte

    MegaByyte New Member

    Joined:
    27 Sep 2013
    Messages:
    10
    Likes Received:
    1
    Reputations:
    0
    да. очень странно. более того:
    Code:
    UPDATE table1 SET `field`=0
    
    -- увеличит на 1
    UPDATE table1 SET `field`=IF(1,`field`+1,0)
    -- увеличит на 2
    UPDATE table1 SET `field`=IF(1,`field`+1,"0")
    
    соответственно, правильно так
    UPDATE table SET field=IF(id IN("a","b","c","d","e"),field+1,0)
    или так:
    UPDATE table SET field=field+IF(id IN("a","b","c","d","e"),"1","0")

    но почему ? :eek:
     
Loading...
Similar Threads - Вопрос MySql увеличить
  1. GAiN
    Replies:
    3
    Views:
    7,447