Sto cercando di creare un trigger MySQL su un tavolo. In sostanza, sto creando un flusso di attività e ho bisogno di registrare le azioni degli utenti. Quando un utente fa un commento, desidero attivare un trigger di database su tale tabella:Come programmare un trigger MySQL per inserire una riga in un'altra tabella?
- Prendere l'ID dell'ultima riga inserita (l'ID della riga di commento).
- esegue un INSERT in una tabella di attività, utilizzando i dati dell'ultima riga inserita.
In pratica eseguirò la replica di questo trigger per l'eliminazione dei commenti.
domande che avevo:
- LAST_INSERT_ID() è il modo migliore per afferrare l'id?
- Come archiviare correttamente i dati dell'ultima riga di commenti inserita per l'utilizzo nella mia istruzione "INSERIRE in attività"?
- Devo utilizzare una combinazione di stored procedure e trigger?
- Come si presenta la struttura di base del trigger?
Grazie! Sono passati alcuni anni da quando ho toccato qualcosa da fare con i trigger, le procedure e le funzioni di DB.
Per tutto chiedendo cosa la "nuova" qui è in piedi per: _You può fare riferimento alle colonne della tabella soggetto (la tabella associata con il grilletto) utilizzando gli alias OLD e NEW. OLD.col_name fa riferimento a una colonna di una riga esistente prima che venga aggiornata o eliminata. NEW.col_name fa riferimento alla colonna di una nuova riga da inserire o a una riga esistente dopo l'aggiornamento._ http://dev.mysql.com/doc/refman/5.0/en///create-trigger.html – SimonSimCity
@ f00, puoi dirmi in questo trigger ... poiché c'è una clausola 'per ogni riga' eseguirà la scansione di una tabella intera, o inserirà solo nuove righe. Grazie per l'aiuto – SAM
@ SAME, "per ogni riga" considera solo le righe aggiornate/inserite in base alla documentazione di mysql. –