Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    28

    [MySQL] Cancellare la riga appena inserita con un trigger

    Salve a tutti, ho scritto questo trigger per un database con MySQL:

    codice:
    create trigger overFriends
    after insert on amicizia
    for each row
    
    if((select count(*) from amicizia where utente=new.utente)>2000) then	 
       SIGNAL SQLSTATE '75001' set message_text = 'La lista amici di un utente deve essere inferiore a 2000!';
    end if;


    il trigger presenta il messaggio di errore 'La lista amici di un utente deve essere inferiore a 2000!' se è verificata la condizione dell'if. Il trigger viene eseguito dopo l'inserimento di una riga nella tabella "amicizia", se la condizione dell'if è verificata, però, la riga non dovrebbe più essere inserita nella tabella. Come posso cancellare quest' ultima riga comunque inserita con un'istruzione all'interno del trigger? Con una delete?


    Grazie in anticipo per la risposta!

  2. #2
    Probabilmente sì. In alternativa puoi farlo diventare un trigger di tipo Before prevenendo l'inserimento della riga.

  3. #3
    Trasformarlo in un trigger before è l'unica via.
    Un trigger non può lanciare una nuova query sulla tabella alla quale è associato.

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 © 2025 vBulletin Solutions, Inc. All rights reserved.