插入重复键更新当前时间戳

时间:2014-07-19 21:21:07

标签: mysql sql

两个表都具有相同的结构:

Url: unique key
date: current time stamp
projectname: text column

这是我试图运行的sql命令:

INSERT INTO urldup (url, date, projectname)
Select url, date, projectname
From sample_temp s1
ON Duplicate key update date=s1.date

如果有重复的网址,我想将日期列更新为尝试插入的日期。

我可以使用上述查询插入非重复项,但如果存在重复匹配则无法更新行日期。

由于

1 个答案:

答案 0 :(得分:0)

要使on duplicate key update起作用,您必须拥有唯一的密钥。在url上创建唯一索引:

create unique index sampletemp_url on sample_temp(url)

然后,当您尝试插入副本时,日期将会更新。

然后,您的语句将日期设置为已存在于记录中的日期。您想要使用now()代替:

INSERT INTO urldup (url, date, projectname)
    Select url, date, projectname
    From sample_temp s1
    ON Duplicate key update date = now();