由于拒绝服务攻击。通过选择 ID 无法找到重复项(它只会显示一行,而不是两行),但如果您通过用户名或密码选择,它将显示两行。是否可以删除主键,删除重复的行,然后重新索引主键?
我们尝试修复表格后发现存在重复项。
答案1
我想到的一些选择是:
创建具有唯一约束的新列,删除原始列,然后将新列设为您的 PK。
或者,创建一个具有新 PK 的新表,复制除重复列之外的所有内容,删除原始表并重命名新表。
答案2
你为什么不备份一下表然后尝试一下呢?
答案3
如果您可以从表中删除记录,下面的 SQL 命令将删除最年轻的重复记录。
delete from table1 where ID in (select max(ID), username from table1 group by username)