回答

收藏

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

技术问答 技术问答 709 人阅读 | 0 人回复 | 2023-09-14

我正在清理没有主键的数据库表(我知道,我知道他们在想什么?)。我不能添加主键,因为列中的重复项将成为键。重复值来自两行之一,各方面都是一样的。我不能通过GUI删除行(在这种情况下是MySQL% @% J/ i! D. H# i4 p# |' s% Y# d) Y
Workbench,但我正在寻找一种与数据库无关的方法),因为它拒绝没有主键(或至少是UQ
) c$ H8 M+ A" l" A/ k+ SNN列表上执行任务,我不能添加主键,因为列中重复的键将成为主键。重复值来自一个…
3 p- I8 ]; p1 L如何删除一对双胞胎?# L, w6 G' }. c8 x) x
                                                                2 \/ q2 {3 `& B& c" T% i& c
    解决方案:                                                               
( s7 |0 j- c9 y8 n( D! Y5 E( t                                                                一种解决您问题的方法是使用相同的架构创建一个新的表,然后执行以下操作:
5 M5 h( k: T4 M# C0 g) cINSERT INTO new_table (SELECT DISTINCT * FROM old_table)然后只重命名表。; }& e1 k6 y1 V' X3 d
当然,您将需要与表所需的磁盘空间大致相同的空间来执行此操作!4 w5 m, x) X. Z$ s: ]: ]  |
它不高效,但很简单。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则