首頁 > 資料庫 > mysql教程 > 如何在不使用外部腳本的情況下刪除 MySQL 中的重複行?

如何在不使用外部腳本的情況下刪除 MySQL 中的重複行?

DDD
發布: 2025-01-24 02:09:09
原創
414 人瀏覽過

How Can I Remove Duplicate Rows in MySQL Without Using External Scripts?

刪除 MySQL 中的重複行:僅資料庫方法

本指南示範如何根據特定列(例如,site_idtitlecompany)有效地從 MySQL 表中刪除重複行,而無需依賴外部腳本。 雖然 GROUP BY 可以識別重複項,但它需要單獨的刪除過程。更直接的方法是利用 MySQL 的 UNIQUE 索引功能。

UNIQUE 索引方法(已棄用)

以前,使用 UNIQUE 關鍵字新增 IGNORE 索引提供了一個解決方案。 MySQL 在建立索引期間會自動拒絕重複行。 語法為:

<code class="language-sql">ALTER IGNORE TABLE jobs
ADD UNIQUE INDEX idx_name (site_id, title, company);</code>
登入後複製

重要提示: 這種 ALTER IGNORE TABLE 方法在 MySQL 5.6 中已棄用,並在 MySQL 5.7 及更高版本中完全刪除。 因此,此方法對於目前的 MySQL 安裝並不可靠。

(現代 MySQL 版本所需的替代方法) 要刪除較新 MySQL 版本中的重複項,需要使用 ROW_NUMBER() 的多步驟方法。 這將需要更複雜的查詢,但它仍然是僅資料庫的解決方案。 有關此替代方法的更多說明可在其他資源中找到。

以上是如何在不使用外部腳本的情況下刪除 MySQL 中的重複行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板