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
nieraczek
post
Post #2





Grupa: Zarejestrowani
Postów: 405
Pomógł: 6
Dołączył: 12.01.2007

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


No przecież kantek Ci napisał co zrobic, nie wiem jak w MySQL, bo pisałem triggery w innym SZRBD, ale to powinno byc cos w stylu:

  1. CREATE TRIGGER wyzwalacz
  2. after DELETE ON Potencjalni
  3. referencing old AS stary
  4. FOR each row
  5.  
  6. begin UPDATE kategorie SET category_id=category_id-1 WHERE category_id>stary.category_id
  7.  
  8. end;


Ten post edytował nieraczek 19.05.2009, 19:21:02
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 - 07:02