Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    258

    agigornamento quotidiano db mysql

    Salve a tutti,
    vorrei un'informazione.
    Ho un db realizzato con MySql, versione 5.0.
    In particolare ho una tabella 'esempio', che ha 3 colonne, di tipo

    codice:
    colonna1:int
    colonna2:date
    colonna3:bool (valore 0 o 1)
    vorrei ke ogni giorno partisse una procedura che calcolasse la differenza tra la data corrente e la data della colonna2 (quindi per ogni riga), confrontasse la differenza con un valore x e sulla base di questo confronto, se < lasciasse il campo bool della riga a 0, se >= lo cambiasse in 1.

    Come posso realizzare ciò?
    Attraverso una stored procedure?
    Se sì, potete darmi un'idea della soluzione migliore o di eventuali alternative...

    Grazie

  2. #2
    basta una query con un po di IF dentro, nulla di troppo complesso credo

    ma in base a cosa la devi confrontare?
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    258
    Grazie per la risposta...
    un confronto del tipo:

    se la differenza tra le 2 date è <3 gg, il booleano resta 0,
    se la differenza tra le 2 date è >=3 gg, il booleano va cambiato in 1.

    Come faccio a programmare una query?
    Intendo, a farla eseguire automaticamente ogni giorno...

    Grazie..

  4. #4
    Originariamente inviato da gbattine
    Grazie per la risposta...
    un confronto del tipo:

    se la differenza tra le 2 date è <3 gg, il booleano resta 0,
    se la differenza tra le 2 date è >=3 gg, il booleano va cambiato in 1.

    Come faccio a programmare una query?
    Intendo, a farla eseguire automaticamente ogni giorno...

    Grazie..
    quello lo devi fare tramite un CRON, su linux, o tramite AT su windows ... se sei in hosting e non hai niente puoi usare un webcron

    la query potrebbe essere qualcosa tipo
    UPDATE testtable SET col3 = IF(DATEDIFF(NOW(), col2) < 3, 'No', 'Yes');

    (Yes e No corrispondono ad un campo enum che ho usato come terza colonna)
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    398
    Ah vedi che e' utile frequentare il forum quella del webcron non la consocevo
    Ne faro' tesoro in futuro.


    Grazie
    Andrea

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.