我只是問在這裏什麼是在MySQL中重複刪除表的最佳方法?MySQL記錄重複數據刪除
我與字段id
,name
,lastname
,user_no
,birthday
,percentage
,然後parent_id
一個示例表。我想要的是在percentage
和parent_id
字段中添加一個值,該字段基於哪個記錄是重複的以及它們的相似程度。
我只是要求一種方法。檢查每個領域兩次以檢查比賽是否有效?或者,還有另一種方式嗎?
我只是問在這裏什麼是在MySQL中重複刪除表的最佳方法?MySQL記錄重複數據刪除
我與字段id
,name
,lastname
,user_no
,birthday
,percentage
,然後parent_id
一個示例表。我想要的是在percentage
和parent_id
字段中添加一個值,該字段基於哪個記錄是重複的以及它們的相似程度。
我只是要求一種方法。檢查每個領域兩次以檢查比賽是否有效?或者,還有另一種方式嗎?
假設id
領域是獨一無二的每個記錄,並與其他類似的那些數據庫中的第一個記錄是parent_id
看了你的第一個記錄,存儲在本地變量的字段值。
讀取數據庫中的每個連續記錄。如果它的值爲parent_id
,請轉到下一條記錄。
將新讀取的記錄中的字段與先前存儲的記錄中的字段進行比較。如果有足夠的匹配項,請更新新讀取的記錄的parent_id
和percentage
字段。
當您到達數據庫的末尾但尚未比較ini的所有記錄時,請閱讀下一個父記錄(即,第二次,數據庫中的第二條記錄,假設它沒有其parent_id
字段集),存儲其字段值在比較變量,從第2步
重複閱讀問題的描述與你other question後,它看起來像你想改變選擇步驟4中的標準:爲了找到「更好」的匹配,您不希望跳過parent_id
字段集的記錄,而是每使用記錄在數據庫中,作爲比較來源。這也意味着你不會想跳過步驟2中的記錄與parent_id
已經設置 - 你馬上要讀每一條記錄在數據庫中ň次,其中ñ是它的行數。
謝謝!我會稍後再嘗試,並在這裏提供更新。 –
如果你不能添加任何代碼,你能舉一個例子嗎? –
你的數據庫有多大?是否可以將所有記錄同時讀入內存?您的目標是對現有記錄進行重複數據刪除,以防止將來出現重複記錄,或兩者兼而有之? – FKEinternet
你還必須給出一些解釋,說明你是如何決定事物的相似程度的?這是否意味着某些字段是相同的,一些不同的,相似的名稱(不管那意味着什麼)等等。 –