Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    [MYSQL] Problema implementazione Trigger

    Salve ho un problema con questo trigger:

    Codice PHP:
    CREATE TRIGGER cancella
            BEFORE UPDATE ON tipo 
        
    FOR EACH ROW
        BEGIN
           DELETE FROM annunci WHERE tipo_annuncio 
    OLD.stato LIMIT 1;
           
    DELETE FROM automobile WHERE tipo OLD.stato LIMIT 1;
        
    END
    Il mio obiettivo è cancellare gli annunci e le automobili quando il tipo cambia stato. Fin qui nessun problema, infatti ogni volta che tipo cambia stato il trigger esegue la sua funzione.
    Il problema sta nel fatto che il tipo può assumere tre valori ATTIVO | PRENOTATO | SCADUTO. Il trigger deve eseguire la sua funzione solo quando il tipo diventa SCADUTO.

    Come posso modificarlo?
    Ho provato con un if, ma probabilmente sbagliavo la sintassi, potete aiutarmi?
    Grazie
    Sugnu Sicilianu e mi ni vantu, picchì la terra mia è china china d'incantu...u suli e li salini, pisci n'do sbarcaturi, su tutti cosi ca mi fannu strinciri lu cori...

  2. #2
    Ho provato così ma non funziona:
    Codice PHP:
    CREATE TRIGGER cancella
        BEFORE UPDATE ON tipo 
        
    FOR EACH ROW
        BEGIN
        
    IF NEW.tipo = \'scaduto\' THEN
            DELETE FROM annunci WHERE tipo_annuncio = OLD.stato LIMIT 1;
            DELETE FROM automobile WHERE tipo = OLD.stato LIMIT 1;
        END IF;
        END; 
    Sugnu Sicilianu e mi ni vantu, picchì la terra mia è china china d'incantu...u suli e li salini, pisci n'do sbarcaturi, su tutti cosi ca mi fannu strinciri lu cori...

  3. #3
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Non funziona, cioè?
    Dà errore? Non fa niente?

  4. #4
    Non viene creato!
    Al momento della creazione mi da questo errore: Unknown column 'tipo' in 'NEW'
    Sugnu Sicilianu e mi ni vantu, picchì la terra mia è china china d'incantu...u suli e li salini, pisci n'do sbarcaturi, su tutti cosi ca mi fannu strinciri lu cori...

  5. #5

    Re: [MYSQL] Problema implementazione Trigger

    Originariamente inviato da stakanovista
    Codice PHP:
    CREATE TRIGGER cancella
            BEFORE UPDATE ON tipo 
        
    FOR EACH ROW
        BEGIN
           DELETE FROM annunci WHERE tipo_annuncio 
    OLD.stato LIMIT 1;
           
    DELETE FROM automobile WHERE tipo OLD.stato LIMIT 1;
        
    END
    scusami ma la tabella come si chiama? il trigger viene definito su essa:
    Codice PHP:
    CREATE TRIGGER cancella BEFORE UPDARE ON nomeTabella
    ... 
    sarà per questo che ti da errore?
    Administrator of NAMDesign.Net

  6. #6
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Originariamente inviato da stakanovista
    Non viene creato!
    Al momento della creazione mi da questo errore: Unknown column 'tipo' in 'NEW'
    grazie al piffero
    dopo NEW. ci va un nome di campo, mica il nome della tabella
    Che senso ha confrontare un valore col nome della tabella?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.