Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1

    [SQL] Settare a now (come default)un campo datetime

    Ciao.
    Come si setta un campo di tipo datetime a now
    senza utilizzare in fase di inserimento NOW() ?

    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  2. #2
    Codice PHP:
    INSERT INTO nometabella (campo_dataVALUES (Now()); 
    « Se nella prima mezz'ora non capisci chi è il pollo, allora il pollo sei tu. » [Thomas "Amarillo Slim" Preston, campione del mondo di poker]

  3. #3
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Ciao whisher.
    Per quanto ne so non è possibile usare una funzione come now() o un'espressione come valore di default.

  4. #4
    Originariamente inviato da king size slim
    Codice PHP:
    INSERT INTO nometabella (campo_dataVALUES (Now()); 
    Ti ringrazio ma fin qui ci arrivo

    vorrei poter inserire quel now() di default
    cioè senza specificarlo in inserimento.


    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  5. #5
    Originariamente inviato da nicola75ss
    Ciao whisher.
    Per quanto ne so non è possibile usare una funzione come now() o un'espressione come valore di default.
    Ciao nicola75ss

    eppure in un thread (se non mi sbaglio) era
    venuto fuori un metodo per settare la data
    a now di default ma PP non ritrovo il link.




    PS.
    Sono ad implementare un TableGateway pattern
    (e per i campi di tipo datetime mi servirebbe una cosa
    del genere)

    PPS
    Mah a me sto utilizzo del TableGateway mi pare
    si utile ma ben poco elastico ma vediamo
    cosa tiro fuori.
    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  6. #6
    beh, lo metti come valore di default nel database...

    in questo modo semplicemente eviterai di mettere il campo nell'insert perchè tanto il valore now() verrà settato in automatico da mysql all'atto della creazione del nuovo record.

    scusa per prima ma non avevo capito
    « Se nella prima mezz'ora non capisci chi è il pollo, allora il pollo sei tu. » [Thomas "Amarillo Slim" Preston, campione del mondo di poker]

  7. #7
    Originariamente inviato da king size slim
    beh, lo metti come valore di default nel database...

    in questo modo semplicemente eviterai di mettere il campo nell'insert perchè tanto il valore now() verrà settato in automatico da mysql all'atto della creazione del nuovo record.
    e no per quanto ne so se ad esempio
    metti

    not null
    default 0000-00-00 00:00:00

    se non specifici NOW() o altro
    mysql inserisce 0000-00-00 00:00:00


    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  8. #8
    Utente di HTML.it L'avatar di Graboid
    Registrato dal
    Oct 2004
    Messaggi
    619
    ecco un'esempio di creazione di una tabella con un campo che si autosetta:

    CREATE TABLE IF NOT EXISTS `tbl_products_old` (
    `idProduct` smallint(5) unsigned NOT NULL auto_increment,
    `cTime` timestamp NOT NULL default CURRENT_TIMESTAMP,
    PRIMARY KEY (`idProduct`)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8 ;

    Non sono sicuro che funzioni anche con un campo datetime ma penso di si.

    Ciao

  9. #9
    Originariamente inviato da Graboid
    ecco un'esempio di creazione di una tabella con un campo che si autosetta:

    CREATE TABLE IF NOT EXISTS `tbl_products_old` (
    `idProduct` smallint(5) unsigned NOT NULL auto_increment,
    `cTime` timestamp NOT NULL default CURRENT_TIMESTAMP,
    PRIMARY KEY (`idProduct`)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8 ;

    Non sono sicuro che funzioni anche con un campo datetime ma penso di si.

    Ciao



    No con un campo di tipo datetime non funziona
    ma basta accontentarsi


    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  10. #10
    Originariamente inviato da whisher


    No con un campo di tipo datetime non funziona
    ma basta accontentarsi


    occhio che quel campo timestamp verra' aggiornato ad ogni update . Se e' quello che vuoi bene, altrimenti *****

    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.