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