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