MySQL Tyd Stempel - hoekom almal nulle?
-
10-07-2019 - |
Vra
Ek gebruik PHPMyAdmin en ek het 'n MySQL tabel kolom genoem het "tyd stempel." Die tipe (verrassing!) Is TIMESTAMP
, en in 'skryf: "Ek het dit ingestel om ON UPDATE CURRENT_TIMESTAMP
.
Maar elke nuwe rekord kry 'n tyd stempel wat lyk soos volg:
0000-00-00 00:00:00
Ek het uitdruklik gestel die verstek waarde vir niemand nie, maar toe ek spaar en kom terug om te kyk, is dit stel om alle nulle soos hierbo.
Die betrokke PHP rekords bladsy treffers met hierdie navraag:
$query = "INSERT INTO `pagehit` (user_id, pageurl)
VALUES ('" . $userid . "', '" . $pageurl . "')";
Die hele ding is besig om onder XAMPP.
Wat mis ek?
Oplossing
Wat mis ek?
Jy hoef nie te werk:)
Gebruik DEFAULT CURRENT_TIMESTAMP
saam met ON UPDATE CURRENT_TIMESTAMP
Ander wenke
Jy kan probeer om die verstek waarde te plaas CURRENT_TIMESTAMP
van om dit in die eienskappe.
As u timestamp
kolom vang net die inplanting tyd dan gebruik net
timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP
Anders as dit is vir verandering tyd dan gebruik soos soos volg
timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
In my geval werk soos volg:
In phpMyAdmin:
ALTER TABLE `name_table` ADD `name_row` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP;
In PHP sintax vir die ry:
date('Y-m-d H:i:s')