小编典典

如何删除两个完全相同的行之一?

sql

我正在清理没有主键的数据库表(我知道,我知道他们在想什么?)。我无法添加主键,因为该列中有重复项将成为键。重复值来自在所有方面都相同的两行之一。我无法通过GUI删除行(在这种情况下为MySQL
Workbench,但我正在寻找一种与数据库无关的方法),因为它拒绝在没有主键(或至少是UQ
NN列)的表上执行任务,并且我无法添加主键,因为在列中有重复的键将成为主键。重复值来自一个…

如何删除其中一对双胞胎?


阅读 168

收藏
2021-04-15

共1个答案

小编典典

解决您的问题的一种方法是使用相同的架构创建一个新表,然后执行以下操作:

INSERT INTO new_table (SELECT DISTINCT * FROM old_table)

然后只重命名表。

当然,您将需要与表所需的磁盘空间大致相同的空间来执行此操作!

它效率不高,但是非常简单。

2021-04-15