Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Trigger

  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2000
    Messaggi
    1,175

    Trigger

    ho provato a creare un trigger per la tabella utenti
    codice:
    CREATE TABLE `utenti` (
      `ID` mediumint(9) NOT NULL auto_increment,
      `USER` varchar(15) NOT NULL,
      `NOME` varchar(25) default NULL,
      `COGNOME` varchar(25) default NULL,
      `EMAIL` varchar(50) NOT NULL,
      `NATO` date default NULL,
      `REGDATE` date NOT NULL,
      `NUMPOST` mediumint(9) NOT NULL,
      `TIPO` char(1) NOT NULL,
      PRIMARY KEY  (`ID`),
      UNIQUE KEY `USER` (`USER`,`EMAIL`),
      KEY `TIPO` (`TIPO`)
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='tabella utenti...';
    
    CREATE TRIGGER `reg_date` AFTER INSERT ON `utenti` 
    BEGIN FOR EACH ROW
         UPDATE utenti SET new.regdate = `2006-06-06`;
    END;
    ma quando provo ad importarla in phpmyadmin, mysql mi dice:
    #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 'BEGIN FOR EACH ROW
    UPDATE utenti SET new.regdate = `2006-06-06`' at line 2

    Ho la versione 5.0.19 e sò che per farli funzionare basta la 5.0.2 di mysql. Chi mi dice dove sbaglio???
    E' la mia prima esperienza con i trigger.

  2. #2
    codice:
    CREATE TRIGGER `reg_date` 
    AFTER INSERT ON `utenti` 
    FOR EACH ROW
    BEGIN 
         UPDATE utenti SET new.regdate = `2006-06-06`;
    END;

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2000
    Messaggi
    1,175
    no mi dà cmq errore...

  4. #4
    togli il begin e l'end.... evidentemente non gli piacciono.

    anche se pero' ho dubbi su come funzionera'...


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  5. #5
    http://database.html.it/guide/lezione/2456/i-triggers/


    non ho ancora avuto tempo di provare i trigger su mysql ... leggi la guida di luca se ti puo' dare info piu' chiare del testo inglese.

    Forse e' l'occasione giusta per provare ad usare SQLyog che ti da ampia visibilita' e gestione dei trigger.

    leggendo ora la guida di Luca mi pare che la sintassi da te usata non sia corretta. Se ho tempo oggi provero' anche con mysql query browser. Sinora non ho avuto bisogno di trigger.

    Lacuna da riempire ....

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

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.