Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 535 Pomógł: 27 Dołączył: 3.05.2005 Ostrzeżenie: (20%)
|
Witam!
Tabela "categories":
Tabela "relations":
Triger:
Po dodaniu kategorii, tworze do niej główny węzeł w tabeli relations. Triger w założeniu ma tworzyć pozostałe węzły jednak dostaje komunikat: Cytat #1442 - Can't update table 'relations' in stored function/trigger because it is already used by statement which invoked this stored function/trigger. I zapytanie:
Parent_id = 4, gdyż znajduje się już jeden rodzic pod którego chciałem ten element podpiąć. Ten post edytował wlamywacz 28.04.2010, 14:55:58 |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 230 Pomógł: 36 Dołączył: 31.03.2006 Skąd: Zielona Góra Ostrzeżenie: (0%)
|
1. Nie można robić inserta do tabli na ktorej wykonujesz trigera (czyli na samej sobie)
2. To drzewo kategorii? Nie łatwiej użyć Nested Tree - link - The Nested Set Model Ten post edytował woj_tas 28.04.2010, 19:12:49 |
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 535 Pomógł: 27 Dołączył: 3.05.2005 Ostrzeżenie: (20%)
|
Nested set są złe z powodu braku możliwości sensowego ich posortowania. Ok, poradzę sobie stosując jedną nadmiarową kolumną do trigera. Pozdrawiam
|
|
|
|
Post
#4
|
|
|
Grupa: Zarejestrowani Postów: 278 Pomógł: 10 Dołączył: 13.02.2007 Skąd: Rybnik Ostrzeżenie: (0%)
|
Według mnie najlepszym rozwiązaniem jest połączenie Nested Tree z drzewkiem IP.
Dodaj po prostu takie kolumny: cat_parent_id ( default = NULL) , cat_deph ( default np. 1 ) oraz cat_ip. W tym momencie masz możliwość ich sortowania przez własnie pole cat_ip (po IP). Pzdr. |
|
|
|
![]() ![]() |
|
Aktualny czas: 24.12.2025 - 09:26 |