回答

收藏

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

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

我正在清理没有主键的数据库表(我知道,我知道他们在想什么?)。我不能添加主键,因为列中的重复项将成为键。重复值来自两行之一,各方面都是一样的。我不能通过GUI删除行(在这种情况下是MySQL1 S; y6 b1 x' |3 H$ f
Workbench,但我正在寻找一种与数据库无关的方法),因为它拒绝没有主键(或至少是UQ1 z# Z% s3 }& M3 B# [1 G$ @. D
NN列表上执行任务,我不能添加主键,因为列中重复的键将成为主键。重复值来自一个…
0 U) e! W; E0 n' D+ v& I) {如何删除一对双胞胎?- N& M6 x1 h8 w6 F9 {# s* Y* j
                                                               
: }/ U4 m! j- U; K, x    解决方案:                                                                $ ^$ C4 B' M& `( D2 T" Q/ N
                                                                一种解决您问题的方法是使用相同的架构创建一个新的表,然后执行以下操作:
( B  b4 Q8 Q6 t0 V' R8 f' w9 V: DINSERT INTO new_table (SELECT DISTINCT * FROM old_table)然后只重命名表。
7 U2 g" X& B5 D, m当然,您将需要与表所需的磁盘空间大致相同的空间来执行此操作!
0 ^* }7 z2 b( }+ Q$ o/ k9 L2 a它不高效,但很简单。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则