我有保存用户观看的预订号的查询。系统将始终显示每个用户的最后10个保留(按“ createDate”列排序),因此,如果在最后10个中已经有一些保留编号,则查询将不执行任何操作。
我想稍作更改,如果表中已经有预订号,则要用当前日期和时间更新字段“ createDate”。 如果不存在,则插入新行。
我应该改变什么?
$query = "
INSERT INTO user_last_view
(userID,
page,
refid,
mode)
SELECT ".$_SESSION['userDetails']['userID'].",
'".$page."',
".$refID.",
'".$mode."'
FROM dual
WHERE NOT EXISTS (SELECT *
FROM (SELECT ulv.userID,
ulv.page,
ulv.refid
FROM user_last_view ulv
ORDER BY ulv.createdate
DESC LIMIT 10) x
WHERE x.userID = ".$_SESSION['userDetails']['userID']."
AND x.page = '".$page."'
AND x.refid = ".$refID.");
";
$conn->query($query);