我正在使用PHPMyAdmin,我有一个名为“timestamp”的MySQL表列。类型(惊喜!)是TIMESTAMP
,在“属性”中我将其设置为ON UPDATE CURRENT_TIMESTAMP
。
但是,每条新记录都会显示如下所示的时间戳:
0000-00-00 00:00:00
我已经将默认值显式设置为none,但是当我保存并返回查看时,它会被设置为全部为零。
相关的PHP记录页面点击此查询:
$query = "INSERT INTO `pagehit` (user_id, pageurl)
VALUES ('" . $userid . "', '" . $pageurl . "')";
整个事情都在XAMPP下运行。
我错过了什么?
答案 0 :(得分:10)
尝试将默认值设置为CURRENT_TIMESTAMP
,而不是将其放在属性中。
答案 1 :(得分:9)
我错过了什么?
你没有更新:)
使用DEFAULT CURRENT_TIMESTAMP
和ON UPDATE CURRENT_TIMESTAMP
答案 2 :(得分:3)
如果您的timestamp
列仅捕获插入时间,则仅使用
timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP
否则,如果是修改时间,则使用如下
timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
答案 3 :(得分:1)
在我的案例中,这样做:
在phpMyAdmin中:
ALTER TABLE `name_table` ADD `name_row` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP;
在PHP的sintax行中:
date('Y-m-d H:i:s')