Question

J'utilise PHPMyAdmin et j'ai une colonne de table MySQL appelée "timestamp". Le type (surprise!) Est TIMESTAMP et, dans "attributs", je l'ai défini sur ON UPDATE CURRENT_TIMESTAMP .

Cependant, chaque nouvel enregistrement reçoit un horodatage ressemblant à ceci:

0000-00-00 00:00:00

J'ai explicitement défini la valeur par défaut sur none, mais lorsque je sauvegarde et que je reviens à la recherche, elle est définie sur tous les zéros comme ci-dessus.

Les enregistrements de page PHP pertinents consultés avec cette requête:

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

Tout tourne sous XAMPP.

Qu'est-ce qui me manque?

Était-ce utile?

La solution

  

Qu'est-ce qui me manque?

Vous ne mettez pas à jour:)

Utilisez DEFAULT CURRENT_TIMESTAMP avec ON UPDATE CURRENT_TIMESTAMP

.

Autres conseils

Essayez de définir la valeur par défaut sur CURRENT_TIMESTAMP au lieu de l'insérer dans les attributs.

Référence de MySQL

Si votre colonne timestamp ne capture que le temps d'insertion, utilisez uniquement

timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP

Sinon, s'il s'agit d'une heure de modification, utilisez comme suit

timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

Dans mon cas, fonctionne comme suit:

Dans phpMyAdmin:

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

En PHP, sintax pour la ligne:

date('Y-m-d H:i:s')
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top