kostenloser Webspace werbefrei: lima-city


MySQL - Trigger Problem

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    re-aktor

    Kostenloser Webspace von re-aktor

    re-aktor hat kostenlosen Webspace.

    Hallo,

    folgendes Problem, ich will, wenn aus der Tabelle news ein eintrag gelöscht wird das per Trigger auch in der Tabelle picupload alle Einträge mit dem gleichen Schlüssel (id) gelöscht werden!
    Es geht darum das die Bilder (deren Informatioen in der Tabelle picupload gespeichert sind) automatisch gelöscht werden wenn der dazugehörigen News Eintrag weg ist.

    CREATE TRIGGER deletepic AFTER DELETE ON news
    FOR EACH ROW
    BEGIN
    DELETE FROM picupload WHERE OLD.id = picupload.fromid;
    END;


    leider gibt das nur folgende Fehlermeldung:


    MySQL meldet: Dokumentation
    #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CREATE TRIGGER deletepic AFTER DELETE ON news
    FOR EACH ROW
    BEGIN
    DELETE FROM ' at line 1


    Ich verzweifle schon seit stunden, is das erste mal das ich was mit triggern mache... kann jemand helfen?

    Grüße felix

    Beitrag geaendert: 17.5.2007 20:36:32 von re-aktor
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Die Fehlermeldung besagt, dass deine Anweisung den Trigger zu erstellen einfach syntaktisch falsch formuliert ist.

    hmm weiß das jetzt auch nicht ganz genau aus dem Kopf, aber ich denke mal dass das doppelte create trigger da nicht hingehört ;-) ... probiers mal mit 1x
    also so:

    CREATE TRIGGER deletepic AFTER DELETE ON news
    FOR EACH ROW
    BEGIN
    DELETE FROM picupload WHERE OLD.id = picupload.fromid;
    END;


    Grüßle
  4. Autor dieses Themas

    re-aktor

    Kostenloser Webspace von re-aktor

    re-aktor hat kostenlosen Webspace.

    upsss da is hat sich der paste und copy fehler eingschlichen!

    ich habs natürlich mit:

    CREATE TRIGGER deletepic AFTER DELETE ON news
    FOR EACH ROW
    BEGIN
    DELETE FROM picupload WHERE OLD.id = picupload.fromid;
    END;


    sorry...
    hat jemand ne idee?
  5. Also ich hab jetzt nur noch gefunden, dass OLD.id natürlich ans Ende muß (ist ja ein Wert). Bei mir zuhause lokal funktioniert das auch wunderbar dann. Allerdings scheint das phpmyadmin bei Lima-City ein schlag weg zu haben. Dort gehts bei mir irgendwie nicht. Komische Sache, hab da aber auch keine Muse im Moment dem nachzugehen.
    Also richtig ist:

    CREATE TRIGGER deletepic AFTER DELETE ON news
    FOR EACH ROW BEGIN
    DELETE FROM picupload WHERE fromid = OLD.id;
    END;


    Grüßle
  6. Autor dieses Themas

    re-aktor

    Kostenloser Webspace von re-aktor

    re-aktor hat kostenlosen Webspace.

    hey

    also ich musste noch nen delimiter einbauen, dann hats aber geklappt.
    vielen dank, karma is unterwegs ^^

    DELIMITER |
    CREATE TRIGGER deletepic AFTER DELETE ON news
    FOR EACH ROW
    BEGIN
    DELETE FROM picupload WHERE fromid = OLD.id;
    END;
    |
    
    DELIMITER ;


    ps: bei mir hats auch nich geklappt in phpMyAdmin, nur im querryBrowser... ka warum...

    -kann geclosed werden-
  7. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!