两个表都具有相同的结构:
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
如果有重复的网址,我想将日期列更新为尝试插入的日期。
我可以使用上述查询插入非重复项,但如果存在重复匹配则无法更新行日期。
由于
答案 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();