我正在尝试进行出勤监控,其中一个人可以按照他/她的意愿定时和超时,只要它将被记录到数据库中。
id idnumber datein timein dateout timeout
1 123 2013-02-21 08:00:01 2013-02-21 11:12:45
2 456 2013-02-21 10:15:01 2013-02-21 05:30:01
3 123 2013-02-21 06:58:52 2013-02-21 03:20:16
4 123 2013-02-21 10:05:35 2013-02-21
任何人都可以在php中给我一个插入/更新代码吗?
我有这个代码,如果不存在则可以插入idnumber,如果存在则更新。
$query = "SELECT * FROM tblattendance WHERE idnumber='".$_POST[idnumber']."'";
$res = mysql_query($query);
list($exist) = mysql_fetch_array($res);
if (!$exist){
$query = "INSERT INTO tblattendance SET idnumber='".$_POST['idnumber']."', datein=CURDATE(), timein = CURTIME()";
$insert_result = mysql_query($query);
}else{
$query1 = "UPDATE tblattendance SET dateout=CURDATE(), timeout = CURTIME() WHERE idnumber='".$_POST['idnumber']."' ORDER BY id DESC LIMIT 1 ";
$insert_result1 = mysql_query($query1);
}
我想要的是我可以在不更新旧记录的情况下插入相同的idnumber。有可能吗?
答案 0 :(得分:0)
创建复合ID键。这是两列的唯一约束 - idnumber
+类型,其中类型为例如0 = in,1 = out。
CREATE TABLE foo (
id INT PRIMARY KEY,
idnumber INT,
type TINYINT(1),
UNIQUE KEY idtype (id, type)
);