Php mysql-更新日期字段(如果存在)
我有一个保存用户观看的预订号码的查询。系统总是显示每个用户的最后10个预订(按“createDate”列排序),因此如果某个预订编号已经在最后10个中,则查询不会执行任何操作 我想稍微修改一下,如果预订号已经在表中,那么就用当前日期和时间更新“createDate”字段。 如果不存在,则插入新行 我应该换什么Php mysql-更新日期字段(如果存在),php,mysql,Php,Mysql,我有一个保存用户观看的预订号码的查询。系统总是显示每个用户的最后10个预订(按“createDate”列排序),因此如果某个预订编号已经在最后10个中,则查询不会执行任何操作 我想稍微修改一下,如果预订号已经在表中,那么就用当前日期和时间更新“createDate”字段。 如果不存在,则插入新行 我应该换什么 $query = " INSERT INTO user_last_view (userID, page,
$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);
我想说的是,您应该有第二个名为“modifiedDate”的列—如果您的“createDate”列可能是创建行的日期,或者可能是修改行的日期,那么稍后就会变得混乱。我相信mysql有一种方法可以自动更新上次修改的日期,类似于它可以使用“更新时”自动填充“创建”日期。您真的想在向用户显示行时更新行日期吗?