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?

Foi útil?

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.

MySQL Referência

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')
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top