• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Trigger z referencją do innej tabeli

Object Storage Arubacloud
0 głosów
384 wizyt
pytanie zadane 9 marca 2019 w SQL, bazy danych przez Ditrix Mądrala (5,650 p.)

Witam.

Z kolegami mamy projekt do zrobienia. Wybraliśmy prostą gierkę typu RPG.

W bazie chce ustawic trigger, że jeśli ktoś ma bron dwureczną, bron dodatkowa jakaby nie była zostanie ustawiona na NULL (to jest referencja zostanie ustawiona na NULL).

Oto tabele potrzebne do wykonania tego triggeru

Create table MainWeapons(
IDMainWeapon INT (4) PRIMARY KEY AUTO_INCREMENT,
Name VARCHAR (20) NOT NULL,
Attack INT (3) NOT NULL,
Type INT(2) NOT NULL
);

Create table AdditionalWeapons(
IDAdditionalWeapon INT (4) PRIMARY KEY AUTO_INCREMENT,
Name VARCHAR (20),
Attack INT (3)
);

Create table Inventory(
IDInventory INT (5) PRIMARY KEY AUTO_INCREMENT NULL,
IDInventory_MainWeapon INT (4) NOT NULL,
IDInventory_AdditionalWeapon INT (4),
FOREIGN KEY (IDInventory_MainWeapon) REFERENCES MainWeapons(IDMainWeapon),
FOREIGN KEY (IDInventory_AdditionalWeapon) REFERENCES AdditionalWeapons(IDAdditionalWeapon),
);

I trigger robię tak:

DELIMITER $$
CREATE TRIGGER Check_Possible_MainWeapon_Inventory
     AFTER INSERT ON Inventory FOR EACH ROW
     BEGIN
          Declare x INT (2);
		  Set x = (SELECT Type FROM Inventory JOIN MainWeapons ON Inventory.IDInventory_MainWeapon = MainWeapons.IDMainWeapon);
		  IF x == 2
		  THEN
			New.IDInventory_AdditionalWeapon = NULL;
		  END IF;
     END;
$$

Ale wywala mi błąd i nie jestem w stanie dojść do rozwiązania problemu.

Wielkie dzięki z góry jeśli ktos pomoże!

BTW wykorzystuje MySql.

Pozdrawiam.

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
1 odpowiedź 1,093 wizyt
pytanie zadane 9 maja 2019 w SQL, bazy danych przez poldeeek Mądrala (5,980 p.)
0 głosów
1 odpowiedź 553 wizyt
pytanie zadane 23 maja 2017 w SQL, bazy danych przez fanpajny Obywatel (1,610 p.)
0 głosów
0 odpowiedzi 257 wizyt
pytanie zadane 29 stycznia 2018 w Nasze projekty przez Julka55 Nowicjusz (120 p.)

92,568 zapytań

141,424 odpowiedzi

319,633 komentarzy

61,956 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...