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.

Kan iemand me uitleggen hoe ik dit doe?

Alvast bedankt!
De eenvoudigste manier is om dit te doen tijdens het toevoegen van een ingredient?

Maar ook als je een user aanmaakt zul je dit moeten doen.

Over wat voor database hebben we het hier?

En @moderators, deze hoort waarschijnlijk thuis in "Databases & SQL".

Een alternatief is het aanmaken van triggers, maar dat zal ik / jij zelf uit moeten zoeken omdat ik daar normaal nooit mee werk.
Het toevoegen van een ingrediënt doe ik via PhpMyAdmin en het soort database is InnoDB.

Triggers zal ik eens naar kijken, bedankt!
Ah je hebt dus nog geen applicatie waarin je die data gebruikt, enkel een database.
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


Bedankt voor de hulp. :)

Reageren