Usavo nel vecchio db access la funzione now() per immettere nel database la data e l'ora esatta

ora passando a mysql trovo qualche problema...

ho cambiato la stringa now() in

codice:
data= Year(Now())  & "-" & Month(Now()) & "-" & Day(Now()) & " " & Hour(Now()) & ":" & Minute(Now()) &":"& Second(Now)
ed il campo del db l'ho fatto di tipo DATETIME

ma il risultato che ho nel db è:

2004-10-21 45.__.__

dove non solo ci mancano 2 valori ma mi porta pure prima i minuti che l'ora
come mai?
per questo motivo non mi funzionano alcuni datediff...

come potrei ovviare al problema?qualcuno di voi si è trovato nella mia stessa situazione?