在SO和其他论坛上有几个关于此的主题。但是,当我想在MySQL中进行插入查询时,我没有清楚几件事情。我发现a thread这是一个有趣且非常相似的问题。但是,我想听听你的好建议。
log_id (PRIMARY KEY
,user_id (FOREIGN KEY)
,working_date
,time_in
,time_out
Scenario:
2014-05-04
,Bin先生(user_id:2)在办公室09:03:12 AM
2014-05-04
,Bin先生(user_id:2)办公室结账03:13:12 PM
此时,我想在同一天更新早上为user_id:2创建的现有行。我只想添加结账时间。
Which I already tried:
$sql = "INSERT INTO work_log (user_id, working_date, time_out)
VALUES('2', '2014-05-04', '03:13:12')
ON DUPLICATE KEY UPDATE user_id = VALUES(user_id), working_date = VALUES(working_date)";
答案 0 :(得分:0)
定义一个复合键,如:
UNIQUE KEY( user_id, working_date )
在ON DUPLICATE
中,设置值如:
ON DUPLICATE KEY
UPDATE time_out = VALUES(time_out);