2016-07-31 87 views
1

我在Symfony2/Doctrine2項目中運行腳本。Doctrine2重複停止執行的條目

而且我收到Doctrine \ DBAL \ Exception \ UniqueConstraintViolationException異常。

An exception occurred while executing 
'INSERT INTO user (name, created_at) VALUES (?, ?)' 
with params ["Gaurav" "2016-07-31 17:10:54"]:    

SQLSTATE[23000]: Integrity constraint violation: 
1062 Duplicate entry 'Gaurav' for key 'UNIQ_8C9F36105E237E06' 

任何想法,我該如何避免這種情況?

我一直在使用Repository findByOne(),然後更新記錄。它仍然會生成一個SQL查詢。

我發現以下post。但我不確定,如果這是必要的。

請指教。

+0

你最近怎麼做'更新'?從一個INSERT和更新看起來很奇怪。我懷疑是某種批處理操作。 – Cerad

+0

@Cerad是的。它是一種有點批處理操作,因爲它是從文件讀取輸入的循環。 – Gaurav

回答

0

檢查如何定義數據庫模式。這個異常告訴你,你試圖爲被定義爲唯一的列插入重複值。

+0

是的。但是,如果我從存儲庫獲取記錄並嘗試更新託管實體,它不應該到達數據庫層。 – Gaurav

+0

你能發佈源代碼嗎? – SilvioMarijic