Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php][mysql]zamiana numerami wybranych rekordów
Saddam92
post
Post #1





Grupa: Zarejestrowani
Postów: 69
Pomógł: 0
Dołączył: 17.11.2006

Ostrzeżenie: (0%)
-----


Witam, tu jeszcze raz ja.
Tym razem chodzi mi o to czy można za pomocą mniej niż 3 zapytań SQL zamienić rekord z rekordem ich idenftykatorami, (tzn. rekord o id=3 będzie miał id=7, a rekord o id=7, id=3)
  1. UPDATE tabela SET id=-2 WHERE id=$id2
  1. UPDATE tabela SET id=$id2 WHERE id=$id1
  1. UPDATE tabela SET id=$id1 WHERE id=-2
(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




Faktycznie, niepomyślalem ze ID to ID (czyli ze ma uniqa). Gdyby nie ten uniq to zapytanie by smigalo az milo.

Jedyne co mi przychodzi do glowy to skrocenie tego do dwoch zapytan:
  1. UPDATE tabela SET id=IF(id=3,-3,-7) WHERE id IN (3,7);
  2. UPDATE tabela SET id=IF(id=-3,7,3) WHERE id IN (-3,-7)
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 7.10.2025 - 02:07