Php mysql-更新日期字段(如果存在)

Php mysql-更新日期字段(如果存在),php,mysql,Php,Mysql,我有一个保存用户观看的预订号码的查询。系统总是显示每个用户的最后10个预订(按“createDate”列排序),因此如果某个预订编号已经在最后10个中,则查询不会执行任何操作 我想稍微修改一下,如果预订号已经在表中,那么就用当前日期和时间更新“createDate”字段。 如果不存在,则插入新行 我应该换什么 $query = " INSERT INTO user_last_view (userID, page,

我有一个保存用户观看的预订号码的查询。系统总是显示每个用户的最后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);

我想说的是,您应该有第二个名为“modifiedDate”的列—如果您的“createDate”列可能是创建行的日期,或者可能是修改行的日期,那么稍后就会变得混乱。我相信mysql有一种方法可以自动更新上次修改的日期,类似于它可以使用“更新时”自动填充“创建”日期。您真的想在向用户显示行时更新行日期吗?