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

    MySql e problema data e ora

    Ciao a tutti!
    Ho migrato un db da Access a MySql... purtroppo non mi sono accorto che non si era portato dietro i valori di default, e quindi ora che ci ho messo dentro i dati, mi sono accorto che le date che valorizzavo con Now() e Time() non vengono valorizzate... ho pensato di intervenire a livello di codice andando a modificare la Insert mettendo rispettivamente Now() e Time() ai due campi DateTime che ho nel db MySql...
    Però mi inserisce nel campo con Now() una cosa del tipo 00/00/00 00:00:00 e nel campo con il Time() invece una cosa strana, che sembra quasi una data però non è giusta, del tipo 05/06/2023 00:00:00 ...
    Avete qualche dritta da darmi per rimpostare la valorizzazione di questi campo o direttamente da database o da codice?

    Grazie mille!
    Ciao

  2. #2
    i campi in MySql usali come testo, e usi sempre now() e time().
    a me ha funzionato.
    <head> Nothing! </head>
    <body> Open your mind and close your ass !!! </body>

  3. #3
    Originariamente inviato da salvodibella
    i campi in MySql usali come testo, e usi sempre now() e time().
    a me ha funzionato.

    ma si, usiamo una data come se fosse un testo...
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  4. #4
    Ti consiglio di utilizzare un campo di tipo timestamp
    "Link2me.it: Professional network e Marketplace"
    www.link2me.it

  5. #5
    Originariamente inviato da Santino83_02
    ma si, usiamo una data come se fosse un testo...
    non ho capito, scusami, puoi spiegarti meglio?
    <head> Nothing! </head>
    <body> Open your mind and close your ass !!! </body>

  6. #6
    Allora, la tabella è già fatta, e già ci sono dei dati dentro...
    Ho solo visto che non avendo importanto anche i valori di default quando vengono inseriti nuovi record questi non hanno data.

    I campi dove devono essere inserite le date sono 2 datetime e 1 varchar (il db non l'ho fatto io, così è!!).

    Ma io posso impostare ora che abbiano dei valori di default, e se sì come?
    Altrimenti comunque ho provato a passargli Now() nella query, come vi avevo scritto, ma non va, inserisce tutti 0!

    Sapete come potrei risolvere?
    Grazie.
    Ciao.

  7. #7
    Nella funzione di importazione prova a passargli i dati come li vuole lui (MySQL)
    prima li scomponi e poi li passi così:
    gg/mm/aaaa hh:mm:ss
    "Link2me.it: Professional network e Marketplace"
    www.link2me.it

  8. #8
    Scusa ma non ho capito... io ho già importato il db ed è già online... poi mi sono accorto di questa mancanza di importazione dei valori predefiniti... ora sto impostando i valori predefiniti per i campi numerici, ma non so come e se posso impostare anche i valori predefiniti direttamente da DataBase, o se invece devo gestirli direttamente nell'Insert da codice... e in caso comunque come fare...
    Grazie.
    Ciao.

  9. #9
    Usi phpmyadmin?
    Puoi settare i valori di default da li, oppure in insert.
    "Link2me.it: Professional network e Marketplace"
    www.link2me.it

  10. #10
    Forse non riesco a spiegarmi...

    Il db mysql è in Aruba... e uso la loro interfaccia di gestione, che è PhpMyAdmin... ho trovato anche dove si settano i valori di default, e per i campi numerici e varchar li ho impostati senza problemi...
    Invece per i campi datetime, quando vado ad impostare Now(), oppure Date(), oppure Time(), mi restituisce questo errore:

    "
    Errore
    query SQL:

    ALTER TABLE `tabella` CHANGE `data` `data` DATETIME NULL DEFAULT 'Date()'

    Messaggio di MySQL:

    #1067 - Invalid default value for 'data'

    "
    Per tutti i e tre i valori, anche se ci metto =Date().... e anche se li metto senza parentesi...

    Ho provato anche con Sysdate, ma niente, mi da sempre lo stesso errore...

    Alla fine dovrò provare a mettere l'inserimento della data da sql nella query di inserimento, ma da li, date(), piuttosto che Now() o Time(), li prenderà???

    Mi sembra strano però che in un DB come MySql non si riesca a impostare un valore di default per le date...
    Ciao

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 © 2026 vBulletin Solutions, Inc. All rights reserved.