【发布时间】:2013-10-14 11:22:31
【问题描述】:
我有两张表如下
表 1 仅包含 1 个名为 FILE_ENCRYPTED 的列(表中没有主键)
表 2 仅包含 1 个名为 FILE_DECRYPTED 的列(表中没有主键)
两个表都包含重复的文件名值。我想从两个表中删除重复的两个表中的重复值。
感谢您的宝贵时间。
【问题讨论】:
标签: mysql
我有两张表如下
表 1 仅包含 1 个名为 FILE_ENCRYPTED 的列(表中没有主键)
表 2 仅包含 1 个名为 FILE_DECRYPTED 的列(表中没有主键)
两个表都包含重复的文件名值。我想从两个表中删除重复的两个表中的重复值。
感谢您的宝贵时间。
【问题讨论】:
标签: mysql
您可以在字段上添加索引并使用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);
【讨论】:
如果我理解正确的话,
您有两个表,分别包含 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)
【讨论】: