2016-05-16 14 views
3

Wie konvertiere ich ein Java-TimeStamp-Objekt in einen SQL-Datetime-Typ, der Millisekunden enthält? Wenn ich mein TimeStamp-Objekt in die Datenbank einfüge, sind die Millisekunden verschwunden.Java sql - Wie fügt man TimeStamp in eine mysql-Datenbank mit Millisekunden ein

Dies ist Code meines Java-Quellcode ein String in ein Timestamp-Objekt zu übersetzen:

import java.sql.Timestamp; 
... 
... 
String timeStr = "2013-08-30 19:11:49.113"; 
Timestamp timeCreated = Timestamp.valueOf(timeStr); 
timeCreated.toString(); //returns "2013-08-30 19:11:49.113" 

Meine Tabelle dfinition in SQL:

CREATE TABLE `Event` (EventTimeStamp datetime NOT NULL); 

Dies ist, wie ich das Timestamp-Objekt in meine Datenbank einfügen :

Nach dem Einfügen wird der Zeitstempel abgeschnitten und es gibt keine Millisekunden mehr:

2013-08-30 19:11:49 

Thx

+0

Wie überprüfen Sie den Wert in der Datenbank? –

+0

In der MySql Workbench: 'SELECT * FROM Ereignis;' – Craiten

+0

welche Version von MySQL? –

Antwort

1

Ihre Datenbankspalte datetime hat keinen Platz für Millisekunden. Sie sollten stattdessen datetime(3) verwenden.

+0

Das hat den Trick gemacht! Danke! Aber ich musste die neueste mysql-Version für diese Lösung installieren. @Lashane thx für den Rat, um meine MySQL zu aktualisieren. – Craiten