Door
Lord Gaga
op 12-06-2015 16:11
gewijzigd op 12-06-2015 16:30
1.728 views
Hallo,
Voor school ben ik bezig met een opdracht en hiervoor wil ik het volgende graag automatisch laten uitvoeren;
Ik heb 3 tabellen:
- ingredient
- user
- user_ingredient
In "ingredient" staan alle ingrediënen die er zijn, in "user" staan alle gebruikers en in "user_ingredient" staan alle ingrediënten van de gebruikers.
Wat ik nu graag zou willen is dat wanneer in "ingredient" een record wordt toegevoegd / verwijderd, dit ingrediënt automatisch aan een gebruiker wordt toegekend in "user_ingredient".
Alle gebruikers hebben dezelfde ingrediënten, alleen de hoeveelheid die ze hebben verschilt. Wanneer ik dus besluit een nieuw ingrediënt toe te voegen, moeten alle gebruikers deze automatisch krijgen.
De opdracht is het gebruik maken van een API in C#. Ik maak een spelletje die data stuurt / ontvangt naar mijn website. Bij het toevoegen van een gebruiker zou ik in principe wel meteen alle ingrediënten kunnen toevoegen, maar wanneer ik handmatig een ingrediënt toevoeg (hiervoor zal geen CMS komen), dan moet ik alle gebruikers handmatig het nieuwe ingrediënt geven, dit wil ik voorkomen.
Edit:
Het is me gelukt om triggers toe te voegen, het lukt me alleen niet met de goede query op de proppen te komen.
Ik heb een query nodig die met een for / while / foreach loop door de tabel "ingredient" gaat en bij elke rij een INSERT query doet, met daarin het id van het ingredient en het id van de zojuist toegevoegde gebruiker.
Is er ergens een tutorial hoe ik dit precies aanpak? Het lijkt me namelijk nogal een ingewikkele query.. :/
Edit 2:
Achteraf lijkt het toch niet een heel ingewikkelde query te zijn;
INSERT INTO user_ingredient
(
user_id,
ingredient_id
)
SELECT DISTINCT NEW.id, id FROM ingredient