2013-03-12 85 views
1

我有一個「用戶」表中包含id(PK,auto_increment),名稱,電子郵件(唯一),cpf(唯一),以及其他不太重要的字段。要添加用戶,我提供了所有這些表中的數據,但顯然是id。 CPF是一種巴西身份證件。插入忽略沒有主鍵

我需要添加一個用戶,如果它不存在我的表上,我不能覆蓋。我GOOGLE了一下,發現了INSERT IGNORE。但是,如果我沒有這個id,這怎麼會知道用戶是否存在,這是我唯一的主鍵?我怎麼可以向INSERT「教導」這些獨特的領域還可以進行比較?

謝謝!

回答

1

您將需要在cpf列上創建一個unique索引。 然後,您的插入忽略查詢將檢查每個插入的重複cpf標識符。 有關處理重複插入的更好方法的更多信息,請參閱:"INSERT IGNORE" vs "INSERT ... ON DUPLICATE KEY UPDATE"

+0

CPF已具有唯一索引。那麼INSERT IGNORE會照原樣運作嗎? – 2013-03-12 17:03:01