Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [sql] select w update'cie
Forum PHP.pl > Forum > Bazy danych > MySQL
szczypior
Witam

Chcę wykorzystać select'a robiąc update tabeli.
Schemat tabeli:

| id | nazwa | ile | gl |

chcę zupdateować rekord który ma id np: 27 i rekord którego id podane jest w polu gl w rekordzie 27.

Próbowałem coś takiego, ale niestety wywala błąd "Something is wrong in your syntax obok 'SELECT gl FROM tabela1 WHERE id=27)' w linii 1":

  1. UPDATE tabela1 SET ile=ile+1 WHERE id IN (27,SELECT gl FROM tabela1 WHERE id=27)
abusiek
Stestowane dla postgresql-a:

  1. UPDATE tabela1 SET ile=ile+1 WHERE id = any(SELECT gl FROM tabela1 WHERE id = 2) OR id = 2;


Nie chcialo mi sie sprawdzac, ale podejrzewam ze jakbys napisal, tak:

  1. UPDATE tabela1 SET ile=ile+1 WHERE id IN (SELECT gl FROM tabela1 WHERE id=27) OR id = 27


tez byloby dobrze (sql burzyl sie chyba o to '27, select....').
szczypior
teraz wyświetla inny błąd:

Cytat
You can't specify target table 'kategorie' for update in FROM clause


czyli chyba że nie mogę pobrać danych z update'owanej tabeli, tak?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.