0
我有一列,LAST_LOGIN型時間戳,用戶表中。結構:MySQL的 - 時間戳列不更新
CREATE TABLE IF NOT EXISTS `User` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`email` varchar(80) NOT NULL,
`username` varchar(80) NOT NULL,
`password` varchar(80) NOT NULL,
`facebook_login` varchar(3) NOT NULL DEFAULT 'no',
`facebook_id` varchar(50) NOT NULL,
`last_login` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=19 ;
我想在用戶使用當前時間戳登錄時更新它。我做的:
$sql = "Update User set last_login = ".time()."
Where id = :id";
$stmt = $db->prepare($sql);
$stmt->bindParam("id", $user->id);
$stmt->execute();
在MySQL日誌文件,我可以看到是越來越執行此查詢:
Update User set last_login = 1381949425 Where id = '1'
但不知何故,它說:「沒有行受到影響」。這怎麼可能?另外還有一個與1號表用戶...
'NOW()'是理想的答案 – Webnet