大家好我一直试图解决我的问题我想观察用户登录并注销系统中的时间所以我决定创建一个单独的表,如用户表和日志时间表在用户表中有一个用户名,密码和时间日志表中的另一个表有timelog_in,timelog_out和user_IDno的外键,它被引用到用户表我可以及时插入用户日志,但是当用户注销的时间我不知道了当表的基数是一对多时很难更新一行,我很难找到用于更新时间日志表的登出时间的列
这是用户表
---------------------------
user_IDno | username | userpassword
---------------------------
这是用户时间日志表
---------------------------
timelog_IDno | timelog_in | timelog_out | user_IDno
---------------------------
答案 0 :(得分:1)
我认为在特定日期特定用户的日志表中应该有多个条目。在log_out时,你需要检查是否有特定用户的条目,timelog_in out out timelog_out。如果是这样,你必须更新条目。
IF EXISTS (SELECT 1
FROM UserTable u
JOIN userLogInfo i
on u.[user_IDno]=i.[user_IDno]
WHERE user_IDno =@user -- user you wanted to update the info
AND timelog_in is not null and timelog_out is null)
THEN
/* Your update query*/
ELSE
/* Your insert query*/