Pregunta

Estoy usando PHPMyAdmin y tengo una columna de tabla MySQL llamada "fecha y hora". El tipo (¡sorpresa!) Es TIMESTAMP , y en 'atributos' lo he establecido en ON UPDATE CURRENT_TIMESTAMP .

Sin embargo, cada nuevo registro tiene una marca de tiempo que se ve así:

0000-00-00 00:00:00

He establecido explícitamente el valor predeterminado en none, pero cuando guardo y vuelvo a buscar, se establece en todos los ceros como se indica arriba.

La página de registros PHP relevante impacta con esta consulta:

$query = "INSERT INTO `pagehit` (user_id, pageurl)
VALUES ('" . $userid . "', '" . $pageurl . "')";

Todo se está ejecutando bajo XAMPP.

¿Qué me estoy perdiendo?

¿Fue útil?

Solución

  

¿Qué me estoy perdiendo?

No actualizas :)

Use DEFAULT CURRENT_TIMESTAMP junto con ON UPDATE CURRENT_TIMESTAMP

Otros consejos

Intente establecer el valor predeterminado en CURRENT_TIMESTAMP en lugar de ponerlo en los atributos.

Referencia de MySQL

Si su columna marca de tiempo captura solo el tiempo de inserción, entonces use solo

timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP

De lo contrario, si es por tiempo de modificación, utilice de la siguiente manera

timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

En mi caso funciona así:

En phpMyAdmin:

ALTER TABLE `name_table`  ADD  `name_row` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP;

En PHP sintax para la fila:

date('Y-m-d H:i:s')
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top