0
A
回答
1
据我所见,你不要有自动增量主键或外键。 如果你没有外键或关系表,首先你可以列出所有的表。之后,您可以创建一个表的临时“镜像”(例如,autogrill)。 然后,你可以做:
INSERT INTO TemporalTable
SELECT DISTINCT
或
INSERT INTO TemporalTable
SELECT Id, Date, Time FROM autogrill GROUP BY Id, Date, Time HAVING COUNT(*) > 1
。
截断或DELETE FROM
没有在那里,然后再次把你的数据与
INSERT INTO autogrill
SELECT * FROM TemporalTable
要知道,如果你有主键这样做。
0
您可以使用此导出表请求:
SELECT * FROM autogrill GROUP BY id
然后,清空您的表格,并导入您之前创建的导出。我不知道另一种简单的方法,只使用一个请求来清除重复条目。
0
执行此操作的一个简单方法是将所有不同的记录复制到新表格或导出中。然后删除原始表格中的所有记录并将它们复制回来。
1
您是如何为此创建STORED PROCEDURE
的?
DELIMITER $$
CREATE PROCEDURE `DeleteDup`()
BEGIN
-- Drops the table.
DROP TABLE bad_temp;
-- Creates a temporary table for distincts record.
CREATE TABLE bad_temp(id INT, name VARCHAR(20));
-- Selects distinct record and inserts it on the temp table
INSERT INTO bad_temp(id,name) SELECT DISTINCT id,name FROM bad_table;
-- Delete All Entries from the table which contains duplicate
-- (you can add also condition on this)
DELETE FROM bad_table;
-- Selects all records from temp table and
-- inserts back in the orginal table
INSERT INTO bad_table(id,name) SELECT id,name FROM bad_temp;
-- Drops temporary table.
DROP TABLE bad_temp;
END$$
DELIMITER ;
请将表名和列名更改为所需的模式。
所以当创建完STORED PROCEDURE
,你可以使用它像这样:
CALL DeleteDup();
0
出口NULL,如果表有自动递增的源使用别名,例如:
INSERT INTO product
SELECT NULL,p.product_sku,
p.product_s_desc,
p.product_desc,
p.product_thumb_image,
p.product_full_image,
p.product_tech_data,
p.product_publish,
p.product_weight,
p.product_weight_uom,
p.product_length,
p.product_width,
p.product_height,
p.product_lwh_uom,
p.product_url,
p.product_in_stock,
p.product_available_date,
p.product_special,
p.create_date,
p.modify_date,
p.product_name,
p.attribute
FROM product AS p WHERE p.product_id=xxx;
相关问题
- 1. Mysql - 删除重复记录
- 2. 在MySQL中选择重复记录
- 3. 在php和mysql中重复记录
- 4. 在MySQL中保留重复记录的运行记录
- 5. 重复MySQL记录的最快方法
- 6. C++中的记录重复
- 7. postgresql中的重复记录
- 8. 重复记录
- 9. 重复记录
- 10. 重复记录
- 11. 重复的记录
- 12. MySql UPDATE只有一个重复记录
- 13. MySQL CrossTab并删除重复记录
- 14. 重复记录需要MYSQL UNION
- 15. MySQL记录重复数据删除
- 16. MySQL,获取真实重复记录
- 17. 在MySQL中复制记录
- 18. MySQL将所有记录重复为一条记录
- 19. MySQL来笨活动记录,以删除重复记录
- 20. 重复记录2008
- 21. 删除db2中的所有重复记录。 (不只是重复的记录)
- 22. MySQL:抓取表中的重复记录的最新ID
- 23. MySql加入具有不同记录的列中的重复值
- 24. AWK不重复的记录
- 25. 显示重复的记录
- 26. 使用SQL select语句计数重复记录中的重复记录
- 27. MySQL中的查询拉出重复记录
- 28. 在MySQL中查找带有重复记录的ID
- 29. 如何在mysql中丢弃重复记录的插入?
- 30. 删除mysql中同一表的重复记录
看一看这个问题 - http://stackoverflow.com/questions/9093151/removing-duplicate-data- from-a-table-using-mysql/9093456#9093456 – Devart 2012-02-03 14:23:40
这个答案会帮你做你想做的事情:http://stackoverflow.com/a/3312098/489560 – 2012-02-03 14:25:43