Wpis z mikrobloga

#sql #mysql chcę zrobić trigger "BEFORE INSERT" w MySQL Workbench który sprawdzałby prawidłowość danych i blokował dodanie wiersza w razie gdyby były one niepoprawne. W tym przypadku mam np. sytuację jak na zdjęciu i nie chcę żeby możliwe było dodanie wiersza do tabeli Secondaries jeżeli istnieje wiersz z tym samym kluczem w tabeli Characteristics i odwrotnie. A więc gdybym tworzył trigger "AFTER INSERT", napisałbym coś takiego (w przypadku tabeli Secondaries): https://pastebin.com/ngc4amyz - czym zastąpić linię "DELETE..." jeżeli ma to być trigger "BEFORE INSERT"? Bo nie mogę przecież usunąć wiersza którego jeszcze w tabeli nie ma, prawda?

W Pastebin ładniej to wygląda, ale wkleję skrypt i tutaj:

CREATE DEFINER = CURRENT-USER TRIGGER 'mydb'.'Secondaries-AFTER-INSERT' AFTER INSERT ON 'Secondaries' FOR EACH ROW
BEGIN
----DECLARE c INT;
----set c = (SELECT COUNT(*) FROM 'Characteristics' WHERE 'attribute-tag' = NEW.'attribute-tag');
----IF (c > 0) THEN BEGIN
--------DELETE FROM 'Secondaries' WHERE 'attribute-tag' = NEW.'attribute-tag';
----END; END IF;
END
Pobierz Capt_S - #SQL #mysql chcę zrobić trigger "BEFORE INSERT" w MySQL Workbench który spra...
źródło: comment_YEkkCLL054jP97NsaLF5knYlTfPoSRQF.jpg
  • 2