MySQL Increment/Decrement

MySQL Increment/Decrement

am 29.12.2009 03:54:04 von Ben Miller

------=_NextPart_000_00C8_01CA87F7.82724840
Content-Type: text/plain;
charset="us-ascii"
Content-Transfer-Encoding: 7bit

I hope this isn't a bone-head question - Is there a MySQL query that will
increment/decrement the value in an integer column with a single query - in
other words, I don't have to run a SELECT query to get the value,
add/subtract to/from the value, and then run an UPDATE query to store the
new value?



Thanks in advance.



Ben


------=_NextPart_000_00C8_01CA87F7.82724840--

Re: MySQL Increment/Decrement

am 29.12.2009 04:51:12 von Robert Cummings

Ben Miller wrote:
> I hope this isn't a bone-head question - Is there a MySQL query that will
> increment/decrement the value in an integer column with a single query - in
> other words, I don't have to run a SELECT query to get the value,
> add/subtract to/from the value, and then run an UPDATE query to store the
> new value?

You mean:

UPDATE table SET column = column + 1;

?

Cheers,
Rob.
--
http://www.interjinn.com
Application and Templating Framework for PHP

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Re: MySQL Increment/Decrement

am 29.12.2009 04:51:47 von bipper.goes

--0016e6d645a8f6532b047bd5f05e
Content-Type: text/plain; charset=ISO-8859-1

UPDATE SQLTABLE SET count = (count+1) WHERE PromoID=1

Is this valid for your issue? I have no way of testing or toying

On Mon, Dec 28, 2009 at 8:54 PM, Ben Miller wrote:

> I hope this isn't a bone-head question - Is there a MySQL query that will
> increment/decrement the value in an integer column with a single query - in
> other words, I don't have to run a SELECT query to get the value,
> add/subtract to/from the value, and then run an UPDATE query to store the
> new value?
>
>
>
> Thanks in advance.
>
>
>
> Ben
>
>

--0016e6d645a8f6532b047bd5f05e--

Re: MySQL Increment/Decrement

am 29.12.2009 04:53:13 von Eric Lee

--00504501764a18039b047bd5f646
Content-Type: text/plain; charset=UTF-8

Ben

It seems that you can just update the column with a update query like this,

update table set field = field + 1 where some condition

This might be the thing you need.


Eric



On 12/29/09, Ben Miller wrote:
>
> I hope this isn't a bone-head question - Is there a MySQL query that will
> increment/decrement the value in an integer column with a single query - in
> other words, I don't have to run a SELECT query to get the value,
> add/subtract to/from the value, and then run an UPDATE query to store the
> new value?
>
>
>
> Thanks in advance.
>
>
>
> Ben
>
>

--00504501764a18039b047bd5f646--

Re: MySQL Increment/Decrement

am 29.12.2009 09:10:34 von muzy

Hello Ben,

I had the same question yesterday (but with SQLite) and there are at
least 2 solutions.

The first was already mentioned:

UPDATE table SET value = value + 1 WHERE foo = bar;

The second solution which also works is:

UPDATE table SET value = (SELECT value FROM table WHERE foo = bar) + 1
WHERE foo = bar;


I hope it helps.


Greetings from Germany,


Sebastian

Ben Miller wrote:
> I hope this isn't a bone-head question - Is there a MySQL query that will
> increment/decrement the value in an integer column with a single query - in
> other words, I don't have to run a SELECT query to get the value,
> add/subtract to/from the value, and then run an UPDATE query to store the
> new value?
>
>
>
> Thanks in advance.
>
>
>
> Ben
>
>
>


--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Re: MySQL Increment/Decrement

am 29.12.2009 13:31:52 von Phpster

On Dec 29, 2009, at 3:10 AM, muzy wrote:

> Hello Ben,
>
> I had the same question yesterday (but with SQLite) and there are at
> least 2 solutions.
>
> The first was already mentioned:
>
> UPDATE table SET value = value + 1 WHERE foo = bar;
>
> The second solution which also works is:
>
> UPDATE table SET value = (SELECT value FROM table WHERE foo = bar) +
> 1 WHERE foo = bar;
>
>
> I hope it helps.
>
>
> Greetings from Germany,
>
>
> Sebastian
>
> Ben Miller wrote:
>> I hope this isn't a bone-head question - Is there a MySQL query
>> that will
>> increment/decrement the value in an integer column with a single
>> query - in
>> other words, I don't have to run a SELECT query to get the value,
>> add/subtract to/from the value, and then run an UPDATE query to
>> store the
>> new value?
>>
>>
>> Thanks in advance.
>>
>>
>> Ben
>>
>>
>>
>
>
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>

You may run into race conditions and contention when handling auto-
incrementimg this way. Best to isolate the SQL into a transaction to
avoid this

Bastien

Sent from my iPod

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php