我有一个表(数百万个记录),具有用于(dataid,url)的唯一索引。该表如下所示:

id  dataid url
1   230    https://www.example.com/123
3   230    http://example.com/123


我无法运行查询

UPDATE table_name SET url = REPLACE(url, 'http://', 'https://www.')


因为存在重复且违反唯一键约束。在这种情况下,我要删除具有最大“ id”值的记录。我该怎么办?

最佳答案

delete
    from table a
    join table b on a.dataid = b.dataid
where
    a.dataid = 230 and a.id > b.id;


试试看

10-07 19:03