問題:
將數千筆記錄插入具有重複值的表中可能會導致資料完整性問題。在 PHP 中循環腳本時如何防止重複條目?
解決方案:
創建唯一密鑰:
定義一個唯一索引應唯一的列組合(例如pageId及名稱):
ALTER TABLE thetable ADD UNIQUE INDEX(pageid, name);
處理重複項:
現在,您需要決定如何處理重複的項目:
忽略重複項:
$query = "INSERT IGNORE INTO thetable (pageid, name) VALUES (1, 'foo'), (1, 'foo')";
覆蓋現有的記錄:
$query = "INSERT INTO thetable (pageid, name, somefield) VALUES (1, 'foo', 'first') ON DUPLICATE KEY UPDATE (somefield = 'first')";
更新計數器:
$query = "INSERT INTO thetable (pageid, name) VALUES (1, 'foo'), (1, 'foo') ON DUPLICATE KEY UPDATE (pagecount = pagecount + 1)";
以上是在 PHP 中插入資料時如何防止 MySQL 中出現重複條目?的詳細內容。更多資訊請關注PHP中文網其他相關文章!