Meu interesse é armazenar o tempo com FSP de 6. Como li, isso não pode ser obtido com TIMESTAMP
ou DATETIME
tipos de dados. Então, eu tenho um double
campo para armazenar a saída da microtime
função.
Existe alguma maneira de definir (ou até mesmo escrever algum código para criar) um valor padrão para esse campo?
Eu quero usar algo como NOW(6)
e obter 1442059062.065123
por exemplo.
Você pode formatá-lo
UNIX_TIMESTAMP
como abaixo:Você pode encontrar outras funções de data e hora aqui . Você pode adicionar um
trigger
e se quiser um valor padrão para seudecimal(16, 6)
microtime , useBEFORE INSERT
e substitua seuNEW.bigintvalue=UNIX_TIMESTAMP(NOW(6));
.Exemplo:
Talvez você queira
DOUBLE
? OuDECIMAL(16,6)
?Ou multiplique por 1000000 e use
BIGINT
?(as casas decimais desaparecerão ao armazenar em um BIGINT.)