我正在尝试更新重复的密钥而不是向Urldup表添加新条目。
这是我正在使用的查询,但这也会添加新条目。
INSERT INTO urldup (url, date, projectname)
Select url, date, projectname
From sample_temp s1
ON Duplicate key update date = now();
我想更新重复的密钥,而不是插入任何新数据。
url列是唯一键。
答案 0 :(得分:1)
我已经弄明白了:
INSERT INTO urldup (url, date, projectname)
Select url, date, projectname
From sample_temp s1
Where url = s1.url
ON Duplicate key update date = now();
答案 1 :(得分:1)
如果您只想进行更新,请使用update
:
UPDATE urldup u
SET date = now()
WHERE exists (select 1 from sample_temp t where u.url = s.url);
这假设复制基于字段url
。如果涉及其他字段,您可以在where
子句中添加更多条件。