使用phpMyAdmin 避免MySQL 中的重複條目
應仔細管理將資料插入表中,以防止重複,這可能會損害資料完整性。在 MySQL 中,實現這一點至關重要,尤其是對於大型資料集。防止重複的一種方法是使用唯一索引。
建立唯一索引
在實施避免措施之前,必須在表格上建立唯一索引。這可確保特定欄位(在本例中為 pageId 和 name)的組合不能重複。為此,請執行以下查詢:
ALTER TABLE thetable ADD UNIQUE INDEX(pageid, name);
處理重複場景
有了唯一索引,下一步就是決定如何處理重複條目。以下是三個常見選項:
INSERT IGNORE INTO thetable (pageid, name) VALUES (1, "foo"), (1, "foo");
此方法會丟棄任何重複的行並繼續只插入唯一的行.
INSERT INTO thetable (pageid, name, somefield) VALUES (1, "foo", "first") ON DUPLICATE KEY UPDATE (somefield = 'first'); INSERT INTO thetable (pageid, name, somefield) VALUES (1, "foo", "second") ON DUPLICATE KEY UPDATE (somefield = 'second');
使用ON DUPLICATE KEY UPDATE,重複的行將使用提供的值進行更新。請注意,根據插入順序,某些欄位的值將是「第一個」或「第二個」。
INSERT INTO thetable (pageid, name) VALUES (1, "foo"), (1, "foo") ON DUPLICATE KEY UPDATE (pagecount = pagecount + 1);
此方法維護每個唯一 pageId 和名稱組合的出現次數。對於每個重複條目,頁數字段都會增加。
以上是如何使用唯一索引和不同的處理方法來防止 MySQL 中出現重複條目?的詳細內容。更多資訊請關注PHP中文網其他相關文章!