You are here: Re: Swapping values in mysql fields - possible (easy)? « PHP SQL « IT news, forums, messages
Re: Swapping values in mysql fields - possible (easy)?

Posted by Norman Peelman on 02/21/07 11:24

Captain Paralytic wrote:
> On 21 Feb, 04:10, Norman Peelman <npeel...@cfl.rr.com> wrote:
>> David Smithz wrote:
>>> "Paul Lautman" <paul.laut...@btinternet.com> wrote in message
>>> news:5416e9F1ug8raU1@mid.individual.net...
>>> In fact I have now managed to try it on an isolated row that I fixed
>>> afterwards and unfortunately it works how I don't want it to. Therefore both
>>> the fields become the same value.
>>> So how can I achieve this?
>> David,
>>
>> Use either multiple queries or user-defined variables. Try this
>> (given a table with fields `A` and `B`:
>>
>> UPDATE tablename SET A = B, B := @tmp WHERE @tmp := A
>>
>> Nice one liner SQL that swaps two fields. :)
>>
>> Norm
>> ...the WHERE clause gets evaluated first.
>
> I tried
> UPDATE `cars`
> SET `car` = `state`,
> `state` = @A
> WHERE @A := `car`
> and no rows were affected.
>

Because:

UPDATE `cars` SET `car` = `state`, `state` := @A WHERE @A := `car`

When using the SET command (at the mysql prompt) you can use either '='
or ':=', anywhere else you need ':='. You just have a typo in the sql.

Norm

 

Navigation:

[Reply to this message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация