Helpmij.nl
Helpmij.nl
Helpmij.nl
Steun Helpmij.nl! Klik hier     Computerprobleem? Klik hier!

Quote

Weergeven resultaten 1 tot 4 van 4

Onderwerp: trigger if else then

  1. #1
    Vraag is opgelost

    trigger if else then

    hallo allemaal

    dit is een vervolg post op een eerdere post van mij.
    http://www.helpmij.nl/forum/showthre...-lastig-script
    dat ik hier een nieuwe post start is omdat ik denk dat het in mysql/phpmyadmin mogelijk moet zijn met behulp van een triger.
    en daarmee wijk je af van php en vond ik het beter een nieuwe post te starten die in de voor dat dele goede forum staat.

    wat ik op dit moment wil met een trigger is als volgt
    ik wil dat van de tabel "wp_bp_xprofile_data"
    waar de colom "field_id" 2 bevat de colom "value" word in ge voegd in de tabel "mysql_whitelist" bij "UUID" en de colom "user_id" word in ge voegt bij de colom ""wp_id"

    ook wil ik dat als in de tabeld"wp_bp_xprofile_data"de colum "value"veranderd dit ook word veranderd in de tabel "mysql_whitelist"veranderd.

    is er iemand die me kan vertellen hoe de betreffende triger er uit moet zien?
    alvast bedankt

  2. #2
    helaas heb ik in deze topic nog geen reactie gehad.
    wel ben ik nog wat aan het peuzelen ge weest en heb nu mischien e vraag wat gedeatieerder:


    ik ben het een en ander aan het doen met men website en zo nog wat andere diensten.
    nu heb ik een paar mysql trigers nodig maar heb nog geen info kunnen vinden die ik snap.
    daarom de vraag of iemand voor mij voorbeeld trigers kan maken.
    die gebaseerd is op de volgende tabellen en colomen.

    wat wil ik met de trigers doen:
    ik wil dat van uit tabel: `e107_user_extended` colom 'user_extended_id' en colom 'user_UUID' worden gekopieerd naar:
    tabel `mysql_whitelist` waarbij colom 'user_extended_id' ge kopjeerd moet worden naar colom: 'id_wp' en colom 'user_UUID' gekopieerd word naar: colom 'UUID'

    dit zelfde moet ook ge beuren bij het wijzigen de colomen in de tabel: `e107_user_extended`

    hopelijk kan iemand voor mij op basis van de gegeven info voorbeeld trigers maken.

    hopelijk krijg ik spoedig antwoord want ik zit nu tog wel egt vast en kan helaas al aantal dagen niet verder
    groeten: peter

  3. #3
    Hoofdbeheerder
    Verenigingslid
    Epic's avatar
    Geregistreerd
    10 januari 2002
    Locatie
    Raalte
    Afstand tot server
    ±36 km
    Er mist nog wat informatie om de trigger te maken.
    - wanneer moet de trigger af gaan? Bij een update, insert, delete of alle 3?
    - wat bedoel je precies met " gekopieerd naar"? Moet er een nieuwe regel (insert) in mysql_whitelist aangemaakt worden? Of bestaat deze al en moet de bestaande bijgewerkt (update) worden?
    - op basis van welke kolom in e107_user_extended moet de mutatie in mysql_whitelist gedaan worden?

    Maar los daarvan, een opzetje hoe een trigger er uit zou kunnen zien:

    SQL Code:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    
    CREATE TRIGGER trigger_naam
    AFTER UPDATE ON e107_user_extended
    FOR EACH ROW
    upd: BEGIN
        UPDATE mysql_whitelist
        SET    id_wp = NEW.user_extended_id
        ,      UUID  = NEW.user_UUID
        WHERE  kolom_uit_mysql_whitelist = kolom_uit_e107_user_extended;
      END upd;
    $$

    Deze doet hard een update op de tabel mysql_whitelist zonder dat hier voorwaarden aan zitten. Wil je dat de update alleen uitgevoerd wordt als één van de twee velden gewijzigd is dan krijg je zoiets:

    SQL Code:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    
    CREATE TRIGGER trigger_naam
    AFTER UPDATE ON e107_user_extended
    FOR EACH ROW
    upd: BEGIN
        IF NEW.user_extended_id <> OLD.user_extended_id
        OR NEW.user_UUID <> OLD.user_UUID
        THEN
          UPDATE mysql_whitelist
          SET    id_wp = NEW.user_extended_id
          ,      UUID  = NEW.user_UUID
          WHERE  kolom_uit_mysql_whitelist = kolom_uit_e107_user_extended;
        END IF;
      END upd;
    $$

    Hopelijk kom je hier een stapje verder mee.

  4. #4
    als eerste heel erg bedankt voor de reactie.
    wat de 3 punten betreft, zal ik eens proberen te beantwoorden.
    -1 de trigger moet in alle 3 de gevallen worden uit gevoerd.
    -2 gekopieerd naar"? weet ik zelf niet eens meer wat ik daarmee bedoelde.
    -3 de mutatie moet gebeuren op basis van beide colomen dus zowel als id_wp "veranderd/word toe ge voeg/deleted" dan wel als user_uuid "veranderd/word toe ge voeg/deleted"
    verder lijkt voorbeeld 2 die gegevens is me het meest ideale aan gezien je volgens mij bij voorbeeld 1 gewoon lomp alles gaat copjeren en dus grotere data stromen krijgt dan nodig is.

  5. Dit topic is automatisch gesloten omdat er sinds vier maanden niet meer op gereageerd is.

    Indien gewenst kan de topicstarter een verzoek tot heropening indienen.

Berichtenregels

  • U mag geen nieuwe vragen starten.
  • U mag niet reageren op berichten.
  • U mag geen bijlagen versturen.
  • U mag uw berichten niet bewerken.
  •  
Helpmij.nl
Helpmij.nl

Helpmij.nl en business

Partners
Sponsoren