使用笨和表與唯一鍵約束如下:爲什麼last_insert_id()會在失敗的插入中返回一個值?
UNIQUE KEY `user_identity_unique` (`site_id`,`user_id`,`event_id`)
然後將數據插入該表具有以下方法:
$this->db->insert('events', $data);
return $this->db->insert_id();
當插入失敗由於鍵約束,即使沒有插入任何東西,$this->db->insert_id()
仍然會返回一個值。我敢肯定MySQL是因爲調用$this->db->_error_message()
的結果返回一個錯誤...
Duplicate entry '267-83880-07' for key 'user_identity_unique'
這似乎是不正確的行爲 - 任何人都熟悉這個可以提供一些線索?爲什麼last_insert_id仍然會返回一個值? (在這種情況下,完全不相關的行的ID)
您是否閱讀過文檔? – Kermit 2013-03-17 16:57:27