MySQL Timestamp - por que todos os zeros?
-
10-07-2019 - |
Pergunta
Estou usando o phpMyAdmin e eu tenho uma coluna de tabela MySQL chamado "timestamp". O tipo (surpresa!) É TIMESTAMP
, e em 'atributos' Eu defini-lo para ON UPDATE CURRENT_TIMESTAMP
.
No entanto, cada novo registro recebe um timestamp que se parece com isso:
0000-00-00 00:00:00
Eu definir explicitamente o valor padrão a nenhum, mas quando eu salvar e voltar a olhar, ele é definido para todos os zeros como acima.
O PHP relevante registra acessos à página com esta consulta:
$query = "INSERT INTO `pagehit` (user_id, pageurl)
VALUES ('" . $userid . "', '" . $pageurl . "')";
A coisa toda está sendo executado em XAMPP.
O que eu estou ausente?
Solução
O que eu estou ausente?
Você não atualizar:)
Use DEFAULT CURRENT_TIMESTAMP
juntamente com ON UPDATE CURRENT_TIMESTAMP
Outras dicas
Tente configurar o valor padrão para CURRENT_TIMESTAMP
em vez de colocar que nos atributos.
Se a sua captura coluna timestamp
apenas o tempo de inserção, em seguida, usar somente
timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP
Caso contrário, se for para o tempo de modificação, em seguida, usar como assim
timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
No meu caso funciona assim:
Em phpMyAdmin:
ALTER TABLE `name_table` ADD `name_row` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP;
Em PHP sintaxe para a linha:
date('Y-m-d H:i:s')