0

我正在开发一个考勤管理系统,我想在其中存储打卡时间和打卡时间作为数据库中的时间戳。该表的查询如下所示:

CREATE TABLE IF NOT EXISTS `punchdetails` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`employeeid` int(11) NOT NULL,
`punchin` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`punchout` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
`SERVER_ADDRIN` varchar(40) NOT NULL,
`REMOTE_ADDRIN` varchar(40) NOT NULL,
`REQUEST_TIMEIN` int(30) NOT NULL,
`SERVER_ADDROUT` varchar(40) NOT NULL,
`REMOTE_ADDROUT` varchar(40) NOT NULL,
`REQUEST_TIMEOUT` int(30) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

当员工当天第一次登录系统时,会有当天的打卡选项。然后字段punchin应填充当前时间戳,并且punchout字段应仅为空。只有在单击“ Punch Out”链接时才应插入“punch out”的值。

但是现在,当我尝试仅将值插入到pinchin时,pinchinpinchout都被插入了。

谁能帮我解决这个问题?

4

2 回答 2

0

试试这样:

`punchin` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`punchout` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
于 2013-09-25T10:20:18.247 回答
0

如果您选择字段类型作为时间戳,当前时间将被添加到字段中。因此,在您的情况下,Punchin 和 Punchout 都将填充相同的值。因此,如@jaczes 所述,更改打孔类型

于 2013-09-25T10:24:12.310 回答