Trigger po aktualizacji, dodaniu, usunięciu

0

Cześć,
Próbuje zrobić triggera który będzie aktualizował mi dane w tabeli1.
W tabeli1 mam kolumny:
ilosc1
ilosc2

Do ilosc1:

SELECT COUNT(*) FROM tabela2;

Do ilosc2:

SELECT SUM(ilosc) as ilosc2 FROM tabel2;

Rozpoznawanie:
tabela1.id == tabel2.klucz

Jak coś takiego zrobić?

1
Create trigger dla_ilosc1 after update or insert on tabela2 
Begin
-- ....
end;

Chyba wszystko...

0

No próbuje coś wywalczyć i otrzymuje błąd:

CREATE TRIGGER `UpdateElement` AFTER UPDATE ON `element`
FOR EACH ROW BEGIN  
	UPDATE karton SET ilosc_elementow = (SELECT COUNT(*) FROM element WHERE element.karton = NEW.id_karton) WHERE karton.id = NEW.id_karton;  
END

A krzyczy mi jakieś apostrofy:

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 3

0

Spróbuj tak:

DELIMITER //
CREATE TRIGGER `UpdateElement` AFTER UPDATE ON `element`
FOR EACH ROW BEGIN  
        UPDATE karton SET ilosc_elementow = (SELECT COUNT(*) FROM element WHERE element.karton = NEW.id_karton) WHERE karton.id = NEW.id_karton;  
END
//
0

Wtedy wywala:

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '//' at line 5

1 użytkowników online, w tym zalogowanych: 0, gości: 1