Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySql] trigger zmniejszający id po usunieciu
tomm
post
Post #1





Grupa: Zarejestrowani
Postów: 142
Pomógł: 28
Dołączył: 7.04.2008

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


Witam
Chciałbym po usunieciu z tabeli jakiegoś rekordu zmniejszy o 1 id rekordów których wartośc jest większa niz tego usnietego czyli: usuwam rekord z id 5 to w rekordzie 6 id zmienia się na 5, w 7 na 6 ....
Próbuję to zrobic za pomoca triggera
  1. CREATE TRIGGER zmniejsz_lp
  2. AFTER DELETE ON Potencjalni
  3. FOR EACH ROW
  4. BEGIN IF id_pot > OLD.id_pot
  5. THEN SET id_pot = id_pot - 1;
  6. END IF;
  7. END;

Mysql wyrzuca 'Unknow system variable "id_pot"'. Oczywiście istnieje pole o nazwie 'id_pot' w tabeli Potencjalni.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
erix
post
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
Może ktoś podpoiwedzieć, gdzie jest błąd? Albo jak inaczej/efektywniej to napisać?

Poszukaj w tym dziale mojej odpowiedzi do podobnego tematu. (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Najpierw deklarujesz zmienną z wartością maksymalną, potem używasz jej w insert.

A jeśli chodzi o ten drugi listing - czemu piszesz auto_increment od nowa...?
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: 10.10.2025 - 09:18