A resposta correta é SYSDATE () .
INSERT INTO servers (
server_name, online_status, exchange, disk_space,
network_shares, date_time
)
VALUES (
'm1', 'ONLINE', 'ONLINE', '100GB', 'ONLINE', SYSDATE()
);
Nós podemos mudar este comportamento e fazer NOW()
se comportam da mesma maneira como SYSDATE()
definindo sysdate_is_now argumento de linha de comando para True
.
Note-se que NOW()
(que tem CURRENT_TIMESTAMP()
como um alias), difere SYSDATE()
em uma sutil forma:
SYSDATE () retorna o horário em que é executado. Isso difere do comportamento de NOW (), que retorna um tempo constante que indica o horário em que a instrução começou a executar. (Dentro de uma função ou gatilho armazenado, NOW () retorna o horário em que a função ou instrução de gatilho começou a executar.)
Conforme indicado por Erandi , é melhor criar sua tabela com a DEFAULT
cláusula para que a coluna seja preenchida automaticamente com o carimbo de data / hora quando você insere uma nova linha:
date_time datetime NOT NULL DEFAULT SYSDATE()
Se você quiser a data atual no formato de época , poderá usar UNIX_TIMESTAMP () . Por exemplo:
select now(3), sysdate(3), unix_timestamp();
renderia
+-------------------------+-------------------------+------------------+
| now(3) | sysdate(3) | unix_timestamp() |
+-------------------------+-------------------------+------------------+
| 2018-11-27 01:40:08.160 | 2018-11-27 01:40:08.160 | 1543282808 |
+-------------------------+-------------------------+------------------+
Palavras-chave: