回答

收藏

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

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

我正在清理没有主键的数据库表(我知道,我知道他们在想什么?)。我不能添加主键,因为列中的重复项将成为键。重复值来自两行之一,各方面都是一样的。我不能通过GUI删除行(在这种情况下是MySQL
0 a8 O0 _: G9 W6 dWorkbench,但我正在寻找一种与数据库无关的方法),因为它拒绝没有主键(或至少是UQ9 r" V% @: w/ X0 D  Z
NN列表上执行任务,我不能添加主键,因为列中重复的键将成为主键。重复值来自一个…0 _) _! o2 r: u+ F& T! X! |
如何删除一对双胞胎?
; l: \8 k1 @2 i# B& s: W1 \) D                                                                2 h3 g, {+ W% L! ?6 M% X
    解决方案:                                                                8 p% N6 [  @/ k  K+ q( {
                                                                一种解决您问题的方法是使用相同的架构创建一个新的表,然后执行以下操作:
6 k' s. o- x7 X3 _INSERT INTO new_table (SELECT DISTINCT * FROM old_table)然后只重命名表。
# f8 w) s: H: n) T; O当然,您将需要与表所需的磁盘空间大致相同的空间来执行此操作!
1 R. t; X& R! }/ X5 r+ x1 ~它不高效,但很简单。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则