Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2002
    Messaggi
    251

    Aggiornare campo data su tabella mysql

    Vorrei aggiornare tutte le date inserite in un campo data di una tabella facendo avanzare l'anno di una unità. Es. una data sul db 2011-04-18 dovrebbe diventare 2012-04-18. Vorrei però riuscire a farlo possibilmente in modo diretto con una unica query di aggiornamento evitando di fare il solito ciclo che legge e scrive (così sono capace anch'io)
    E' possibile?

  2. #2
    Utente di HTML.it L'avatar di Joe Taras
    Registrato dal
    Nov 2003
    residenza
    Taranto
    Messaggi
    955

    Re: Aggiornare campo data su tabella mysql

    Originariamente inviato da cubalibre
    Vorrei aggiornare tutte le date inserite in un campo data di una tabella facendo avanzare l'anno di una unità. Es. una data sul db 2011-04-18 dovrebbe diventare 2012-04-18. Vorrei però riuscire a farlo possibilmente in modo diretto con una unica query di aggiornamento evitando di fare il solito ciclo che legge e scrive (così sono capace anch'io)
    E' possibile?
    codice:
    UPDATE tabella SET campo = ADDDATE('2008-01-02', INTERVAL 1 year) where campo = '2011-04-18'

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2002
    Messaggi
    251
    Grazie per l'esempio che comunque non avrei saputo fare...ma credo non faccia al caso mioenso di non essermi spiegato bene. Le date che ho tirato in ballo forse hanno tratto in inganno.
    Il problema è:
    "devo aumentare di 1 anno tutte le date che incontro su quel determinato campo della tabella (e che non conosco ). Non tutti i records contengono la data compilata (cioè qualche record può non averla) in quel campo.In questo caso il campo deve rimanere ovviamente inalterato.

  4. #4
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    codice:
    update tabella
    set campo_data = campo_data + interval 1 year
    where campo_data is not null or campo_data <> ''

  5. #5
    Originariamente inviato da nicola75ss
    codice:
    update tabella
    set campo_data = campo_data + interval 1 year
    where campo_data is not null or campo_data <> ''
    quell'OR mi suona male. la data di default e' not null e diversa da empty.

    where campo_data > '0000-00-00'

    dovrebbe andare meglio. Esclude sia i campi NULL che le date di default 0000-00-00



    @buon anno nicola...

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

  6. #6
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Hai ragione ovviamente.

    Buon anno anche a te maestro.

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2002
    Messaggi
    251
    Ragazzi...che dire......mi inchino a tanta eleganza ed efficienza di codice.
    Funzionaaaaaa! inizio bene l'anno....

    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.