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

    [MySql] data_creazione e data_aggiornamento

    Come vi comportate nel caso in cui dobbiate salvare questi due dati diversi in una tabella?

    MySql permette solo una colonna con CURRENT_TIMESTAMP mentre a me servirebbe una cosa del genere:

    data_creazione DEFAULT CURRENT_TIMESTAMP
    data_aggiornamento ON UPDATE CURRENT_TIMESTAMP

    però ricevo l'errore di cui sopra.

    Devo per forza immattere maualmente la data di creazione e usare solo ON UPDATE sulla seconda colonna?

    È possibile impostare delle procedure che automatizzino questo comportamento?
    Arjuna

    finding solutions

  2. #2
    la data di creazione sara' fatta con la query INSERT. Usa un campo DATE o DATETIME e la funzione NOW() per inserirla. Nell'update la ignorerai del tutto e la lasci com'e'.

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

  3. #3
    ciao
    per l'inserimento puoi tranquillamente utilizzare la funzione NOW() come specificato anche da piero.mac oppure immetti la data in una varibile e insieme alle altre vars le mandi all'INSERT
    mentre per l'aggiornamento, non è altro che una conseguenza in quanto, se non aggiorni gli altri campi del record nel database non c'e necessita di aggiornare anche il campo update no ? :rollo:
    per cui quando inserisci i dati per aggiornare il db metti la data attuale in una variabile e la mandi come dato assieme agli altri all'INSERT
    ...un'altro suggerimento : quando inserisci la data di creazione del record nel campo "DATA_CREAZIONE" inserisci la stessa di creazione anche nel campo "DATA_AGGIORNAMENTO" in questo modo, la differenza (se la data di creazione e' uguale a quella aggiornamento non e' un aggiornamento, ma se la data di aggiornamento e maggiore della data di creazione e un aggiornamento, potresti mettere un'immagine che ti segnala che e' un dato aggiornato di recente quando visualizzi l'elenco dei record)
    cmq io oltre che a questi 2 nel mio database ne ho anche un'altro di campo che aggiorna l'ultimo
    riepilogando :
    CREATE (data di creazione del record) DATETIME
    LAST (data dell'ultima modifica del record) DATETIME
    UPDATE (data attuale del record che scrivera' se verranno modificati i campi) DATETIME

    Falc©NET
    __________________
    http://falco.ilbello.com - Il Mio Sito Personale
    http://bandalarga.ilbello.com - Monitoraggio Della Banda Larga Italiana

  4. #4
    Originariamente inviato da piero.mac
    la data di creazione sara' fatta con la query INSERT. Usa un campo DATE o DATETIME e la funzione NOW() per inserirla. Nell'update la ignorerai del tutto e la lasci com'e'.
    Per come vorrei impostare io la struttura della tabella sia nella INSERT che nell'UPDATE non inserirei nessun valore. Altrimenti che mi sbatto a fare ad usare MySql?

    Quindi quando creo una riga mi si dovrebbero settare in automatico entrambi i campi così che se facessi una query WHERE date_aggiornamento > data_creazione mi restituirebbe solo le righe aggiornate.

    Aggiornando una riga non gli passo ne la data di creazione ne quella di aggiornamento, così mi aggiornerà solo la data di aggiornamento in automatico.

    Questo in teoria ma in pratica MySql non lo permette.

    NOW() è sinonimo di CURRENT_TIMESTAMP().


    Originariamente inviato da falconet
    ...
    Scusa, ma a passare i valori correti in query sono bravi tutti... io cerco di capire come automatizzare la procedura specie perchè su queste cose MySql è più performante di PHP.

    Per quanto riguarda il creare un terzo campo non ne ho capita l'utilità...
    Arjuna

    finding solutions

  5. #5
    Originariamente inviato da 99caos
    Per come vorrei impostare io la struttura della tabella sia nella INSERT che nell'UPDATE non inserirei nessun valore. Altrimenti che mi sbatto a fare ad usare MySql?

    Quindi quando creo una riga mi si dovrebbero settare in automatico entrambi i campi così che se facessi una query WHERE date_aggiornamento > data_creazione mi restituirebbe solo le righe aggiornate.

    Aggiornando una riga non gli passo ne la data di creazione ne quella di aggiornamento, così mi aggiornerà solo la data di aggiornamento in automatico.

    Questo in teoria ma in pratica MySql non lo permette.

    NOW() è sinonimo di CURRENT_TIMESTAMP().
    cerca timestamp in questo thread

    http://forum.html.it/forum/showthrea...hreadid=839754

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

  6. #6
    Originariamente inviato da piero.mac
    cerca timestamp in questo thread

    http://forum.html.it/forum/showthrea...hreadid=839754
    Non dice nulla di nuovo rispetto a quanto gia era scritto nella guida di Html.

    Non capisco perchè mi hai linkato questo thread
    Arjuna

    finding solutions

  7. #7
    Originariamente inviato da 99caos
    Non dice nulla di nuovo rispetto a quanto gia era scritto nella guida di Html.

    Non capisco perchè mi hai linkato questo thread
    in effetti non lo capisco pure io. Tempo perso per entrambi. Porta pazienza.


    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.