我有一个非常简单的表,称为"收藏夹",带有两个列用户和内容。如何在这些列上添加复合主键,然后删除所有重复(例如,相同的内容和用户值)
ALTER TABLE favorites
ADD PRIMARY KEY (user,content)
给出诸如#1062的错误 - 重复条目'24 -26885'for键'primary'
1st您删除重复行,如mysql重复行(使用2列检测到重复),然后创建复合主键
问题是旧的,但是一个简单的解决方案仍然可以帮助某人面对这个问题。
对于键主'的错误'重复条目XXX'的方式是使用替换而不是在表转储上插入。这样,将保留特定索引的最新记录。
替换工作完全类似于插入,除了表格,如果表中的旧行与主键或唯一索引的新行具有相同的值,则在插入新行之前删除旧行。 https://dev.mysql.com/doc/refman/5.5/en/replace.html
步骤1.为您创建SQL转储文件
步骤2.以以下方式修改转储文件:
-
将主键(或唯一索引)添加到表定义
-
使用替换为而不是插入(所有实例必须更改)
步骤3. Appy将更改为DB