Domanda

Sto usando PHPMyAdmin e ho una colonna della tabella MySQL chiamata " timestamp. " Il tipo (sorpresa!) È TIMESTAMP , e in 'attributi' l'ho impostato su ON UPDATE CURRENT_TIMESTAMP .

Tuttavia, ogni nuovo record ottiene un timestamp simile a questo:

0000-00-00 00:00:00

Ho impostato esplicitamente il valore predefinito su none, ma quando salvo e torno a guardare, è impostato su tutti gli zeri come sopra.

La pagina dei record PHP pertinente viene visualizzata con questa query:

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

Il tutto funziona sotto XAMPP.

Cosa mi sto perdendo?

È stato utile?

Soluzione

  

Cosa mi sto perdendo?

Non aggiorni :)

Utilizza DEFAULT CURRENT_TIMESTAMP insieme a ON UPDATE CURRENT_TIMESTAMP

Altri suggerimenti

Prova a impostare il valore predefinito su CURRENT_TIMESTAMP invece di inserirlo negli attributi.

Riferimento MySQL

Se la colonna timestamp acquisisce solo il tempo di inserimento, utilizzare solo

timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP

Altrimenti, se è per il tempo di modifica, utilizzare come segue

timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

Nel mio caso funziona così:

In phpMyAdmin:

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

Nella sintassi di PHP per la riga:

date('Y-m-d H:i:s')
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top