如何从Mysql中的两个不同表中删除重复数据

时间:2013-10-14 11:22:31

标签: mysql

我有两张表如下

表1只包含一列名为FILE_ENCRYPTED(表中没有主键)

表2仅包含一列名为FILE_DECRYPTED(表中没有主键)

该表都包含文件名的重复值。我想从表中删除重复的值,这两个表在表中都重复。

感谢您的时间。

2 个答案:

答案 0 :(得分:0)

您可以在字段上添加索引,并使用ignore删除重复的行

ALTER IGNORE TABLE yourencypt_table ADD UNIQUE INDEX enc_idx (FILE_ENCRYPTED);
ALTER IGNORE TABLE yourdecypt_table ADD UNIQUE INDEX dec_idx (FILE_DECRYPTED);

答案 1 :(得分:0)

如果我理解正确的话,

你有两个表分别有FILE_ENCRYPTED,FILE_DECRYPTED列。

您想要找到两个数据库共有的值。

我建议你

SELECT * FROM table1 JOIN table1 ON table1.FILE_ENCRYPTED = table2.FILE_DECRYPTED  

这将为您提供匹配的行。

然后,您可以使用DELETE删除记录

然后,您将在字段上添加UNIQUE INDEX:

ALTER IGNORE TABLE table1 ADD UNIQUE INDEX enc_idx (FILE_ENCRYPTED)
ALTER IGNORE TABLE table2 ADD UNIQUE INDEX dec_idx (FILE_DECRYPTED)