Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 20
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    3,072

    Timestamp quando si aggiorna?

    ciao a tutti, ho una tabella con un campo timestamp..... non riesco proprio a capire quando questo valore di aggirona automaticamente (in update o insert) e quando no

    ad esempio se modifico un record da phpmyadmin mi sembra non si aggiorni
    con alcune query di update mi sembra che non si aggiorni

    cosa sbaglio?

    Grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    1,469
    se intendi "quando si aggiorna un campo mysql timestamp"? la risposta è "mai".

    lo devi aggiornare con un update, è solo un tipo come tutti gli altri, non si "autoaggiorna"

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    3,072
    Scusa per gli errori nello scrivere il primo messaggio...

    si intendevo proprio quello cmq... e credevo che il campo si aggiornasse automaticamente

    quindi per fare in modo che il campo timestamp abbia il valore "now" cosa devo inserire nell'update??

    set timestamp = ??

    Grazie

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    1,469
    update tabella set campo=now();

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    3,072
    Grazie mille!! Solo un ultimo dubbio, usando phpmyadmin, come posso fare in modo che quando modifico un record mi venga aggiornato anche il campo TS? Devo apportare la modifica manualmente?

    Grazie

  6. #6
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    1,469
    non ne ho la minima idea, non uso mai phpmyadmin, solo client a riga di comando

    nel caso peggiore ti basta fare un trigger (anche se l'impatto sulle prestazioni è elevato, se le modifiche sono numerose). considera inoltre che se usi myisam ogni aggiornamento ti blocca l'intera tabella

  7. #7
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922

    Re: Timestamp quando si aggiorna?

    Originariamente inviato da Valeria75_bis
    ciao a tutti, ho una tabella con un campo timestamp..... non riesco proprio a capire quando questo valore di aggirona automaticamente (in update o insert) e quando no

    ad esempio se modifico un record da phpmyadmin mi sembra non si aggiorni
    con alcune query di update mi sembra che non si aggiorni

    cosa sbaglio?

    Grazie
    codice:
    create table prova (
    id int not null auto_increment primary key,
    testo varchar(10),
    dataora timestamp not null default current_timestamp on update current_timestamp
    ) engine = myisam;
    
    insert into prova (testo) values ('prova');
    
    select * from prova;
    
    update prova set testo = 'nuovo';
    
    select * from prova;

  8. #8
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    3,072
    dataora timestamp not null default current_timestamp on update current_timestamp
    Interessante!!! Mi sembra di capire che in questo modo in fase di insert e update il campo di formato timestamp si aggiorna automaticamente?

    Ma utilizzando phpmyadmin, come posso modificare un campo esistente per renderlo in tale forma?

  9. #9
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Il campo in che formato è? Datetime? Vuoi preservare i dati che già contiene?

  10. #10
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    3,072
    Il campo è di tipo timestamp

    si chiama timestamp
    e come default value ha CURRENT_TIMESTAMP

    ma nonostante questo (CURRENT_TIMESTAMP) non si aggiorna quando faccio update del campo

    grazie

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.