Mysql 删除第n列中值相同的重复行
我有一张mysql表。标题的结构如下所示: 现场供应商Mysql 删除第n列中值相同的重复行,mysql,database,Mysql,Database,我有一张mysql表。标题的结构如下所示: 现场供应商 数据 数据 数据2 数据2 数据2 现在,我想删除共享相同供应商值的重复行。因此,相同但具有不同供应商列值的两行不应视为重复。但是,等于并共享相同供应商值的两行或多行将被视为重复行,应删除,只保留一个现有副本 如何使用mysql实现这一点 我这样做了,但它删除了所有内容,而不仅仅是重复的值。我至少还需要一份 DELETE 从汽车 其中((auto.email=)carolzvalentine@yahoo.com“)和(auto.vendo
数据
数据
数据2
数据2
数据2
现在,我想删除共享相同供应商值的重复行。因此,相同但具有不同供应商列值的两行不应视为重复。但是,等于并共享相同供应商值的两行或多行将被视为重复行,应删除,只保留一个现有副本 如何使用mysql实现这一点 我这样做了,但它删除了所有内容,而不仅仅是重复的值。我至少还需要一份
DELETE
从汽车
其中((auto.email=)carolzvalentine@yahoo.com“)和(auto.vendors='5552')您可以使用
ALTER IGNORE
在表的列上添加一个UNIQUE
索引:
ALTER IGNORE TABLE mytbl ADD UNIQUE INDEX (field1, field2, field3, field4, vendors)
如中所述:
IGNORE
是标准SQL的MySQL扩展。如果新表中的唯一键上存在重复项,或者启用严格模式时出现警告,则它控制ALTER TABLE
的工作方式。如果未指定IGNORE
,则复制将中止,并在出现重复密钥错误时回滚。如果指定了IGNORE
,则只有第一行用于唯一键上具有重复项的行。其他冲突行将被删除。不正确的值将被截断为最接近的匹配可接受值
这还可以防止将来添加重复项(如果您希望允许,可以在创建索引后
删除该索引)。您可以使用ALTER IGNORE
在表的列上添加唯一的索引:
ALTER IGNORE TABLE mytbl ADD UNIQUE INDEX (field1, field2, field3, field4, vendors)
如中所述:
IGNORE
是标准SQL的MySQL扩展。如果新表中的唯一键上存在重复项,或者启用严格模式时出现警告,则它控制ALTER TABLE
的工作方式。如果未指定IGNORE
,则复制将中止,并在出现重复密钥错误时回滚。如果指定了IGNORE
,则只有第一行用于唯一键上具有重复项的行。其他冲突行将被删除。不正确的值将被截断为最接近的匹配可接受值
这还将防止将来添加重复项(如果您希望允许,可以在创建索引后删除该索引)
这就行了。只需用正确的值替换代码中的php变量即可
$vendor=供应商列的名称
$table=表的名称
这段代码唯一的问题是它不是完全最优的。它拥有25000条记录集,在虚拟专用服务器上运行,平均只需2分钟即可完成任务
干杯
这就行了。只需用正确的值替换代码中的php变量即可
$vendor=供应商列的名称
$table=表的名称
这段代码唯一的问题是它不是完全最优的。它拥有25000条记录集,在虚拟专用服务器上运行,平均只需2分钟即可完成任务
干杯您尝试过什么吗?向我们展示您的努力……“创建表格新表格作为SELECT*从自动模式,其中字符长度(供应商)>1组按供应商”;您必须在问题中显示您的努力程度,因此,如果您在问题中以您的努力程度写下上述查询,会更好……您尝试过什么吗?显示您的努力程度……“从自动创建表格新表格,其中字符长度(供应商)>1个供应商分组”;你必须在你的问题中表现出你的努力,所以如果你在你的问题中写下以上的查询作为你的努力会更好…谢谢,但我不想防止重复发生。我只想有能力在我决定删除时清除重复项。他们是用我的标准做到这一点的方法吗?@SofianeMerah:正如我所说,创建索引,然后删除它。创建索引。那就放下它。这有什么用?我不明白这里的操作。你能给我举个例子吗?谢谢。@SofianeMerah:你读过我从MySQL手册中引用的解释IGNORE
关键字的段落了吗?是的,我读过,我写这篇文章的时候正在读手册。我确信,如果我对这些函数了解得更多,我会自己做这件事,但我没有,所以我现在不知道发生了什么。请提供上下文、示例和操作顺序。谢谢。谢谢,但我不想防止重复发生。我只想有能力在我决定删除时清除重复项。他们是用我的标准做到这一点的方法吗?@SofianeMerah:正如我所说,创建索引,然后删除它。创建索引。那就放下它。这有什么用?我不明白这里的操作。你能给我举个例子吗?谢谢。@SofianeMerah:你读过我从MySQL手册中引用的解释IGNORE
关键字的段落了吗?是的,我读过,我写这篇文章的时候正在读手册。我确信,如果我对这些函数了解得更多,我会自己做这件事,但我没有,所以我现在不知道发生了什么。请提供上下文、示例和操作顺序。谢谢。有人知道如何做得更快吗?有人知道如何做得更快吗?