![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
mam taka tabele:
Kod +----------------+ | wwe_menu | +--+----+--------+ |ID|Name|Position| +--+----+--------+ |1 |tra | 3 | |2 |la | 8 | |3 |buuu| 5 | +--+----+--------+ chcialbym przy uzyciu jednego zapytania (albo jak najmiejszej ilosci zapytan) wykonac takie cos: (do dyspozycji mam jedynie ID jednego wiersza) w $ID mam "2" (ID jednego z wierszy) zamienic wartosci "Position" w wierszu o ID = $ID z wierszem o ID miejszym od $ID (najblizszym)... probowalem robic cos takiego:
niestety trzecie zapytanie (ktore podmiania wartosci zwraca blad): Kod Query: (UPDATE wwe_menu SET Position = 1 WHERE Position = 2) UNION (UPDATE wwe_menu SET Position = 2 WHERE Position = 1)
Error #1064: Something is wrong in your syntax obok 'UPDATE wwe_menu SET Position = 1 WHERE Position = 2) ' w linii 1 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 222 Pomógł: 35 Dołączył: 6.02.2005 Ostrzeżenie: (0%) ![]() ![]() |
Kod nie jest do użycia tylko do poprawienia. Chodzi tylko o zasadę działania.
Q1 = SELECT id, position FROM wwe_menu WHERE id<$ID ORDER BY id DESC LIMIT 1 Q2 = SELECT position FROM wwe_menu WHERE id = $ID Q3 = UPDATE wwe_menu SET position = position_from_q1 WHERE id=$ID Q3 = UPDATE wwe_menu SET position = position_from_q2 WHERE id = ID_FROM_Q1 -------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 12:39 |