MySql 5.6+ obsługuje ułamkowe sekundy w wartościach czasu, podczas gdy poprzednie wersje nie.
Standardowa datetime
kolumna nie będzie przechowywać wartości mikrosekundowych, podczas gdy datetime(6)
Wola. Możesz to przetestować w MySql 5.6:
CREATE TABLE your_table (
d1 datetime,
d2 datetime(6)
);
INSERT INTO your_table VALUES
('2011-11-11 11:11:11.111111', '2011-11-11 11:11:11.111111');
SELECT MICROSECOND(d1) as m1, MICROSECOND(d2) as m2
FROM your_table;
m1 | m2
-----------
0 | 111111
Jeśli nie używasz MySql 5.6+, sugerowałbym użycie dwóch kolumn, jednej dla części daty i godziny, a drugiej dla mikrosekund:
CREATE TABLE your_table (
dt datetime,
us int
);
INSERT INTO your_table VALUES
('2011-11-11 11:11:11.111111', MICROSECOND('2011-11-11 11:11:11.111111'));