我想建立一個字典,任何用戶都可以建議新單詞作爲實驗。如何以更優化的方式使用INSERT INTO跳過重複項?
爲了避免重複,我用來做一個查詢SELECT
,搜索該單詞,如果大小爲零,那麼我做INSERT INTO
。
只有當您需要警告用戶時,我才覺得這種方法運行良好,但在我的情況下,我希望更快,更自動和安靜。
單詞的第一個條目(用戶第一次建議該單詞)將成爲頁面單詞的ID,因此我不想使用REPLACE
。
我想知道是否可以使用INSERT IGNORE
解決方案?
我想建立一個字典,任何用戶都可以建議新單詞作爲實驗。如何以更優化的方式使用INSERT INTO跳過重複項?
爲了避免重複,我用來做一個查詢SELECT
,搜索該單詞,如果大小爲零,那麼我做INSERT INTO
。
只有當您需要警告用戶時,我才覺得這種方法運行良好,但在我的情況下,我希望更快,更自動和安靜。
單詞的第一個條目(用戶第一次建議該單詞)將成爲頁面單詞的ID,因此我不想使用REPLACE
。
我想知道是否可以使用INSERT IGNORE
解決方案?
INSERT IGNORE會做的伎倆爲你在這裏。您只需確保在不希望重複的列上定義了UNIQUE索引。
另一種選擇是INSERT INTO ... ON DUPLICATE KEY UPDATE,它不會再次插入值,但會允許更新該行中的其他列。例如計數器或時間戳。
「INSERT INTO」 忽略重複後,或 「INSERT INTO ... ON DUPLICATE KEY UPDATE」 從後來的副本採取新的領域:http://dev.mysql.com/doc/refman/5.0/en/insert-on-duplicate.html
什麼是「br lese」? – 2011-07-17 00:17:43