2013-05-15 68 views
2

SQLSTATE [23000]:完整性約束衝突:關鍵1062重複條目'3262-1 'UNQ_CATALOGINVENTORY_STOCK_ITEM_PRODUCT_ID_STOCK_ID' #SQLSTATE [23000]:完整性約束違規:1062重複項 '3262-1' 關鍵 'UNQ_CATALOGINVENTORY_STOCK_ITEM_PRODUCT_ID_STOCK_ID'

當我嘗試將庫存添加到我的商店時顯示,並且顯然刪除了我輸入的內容,並且不允許我添加任何內容,請幫助我修復此問題,我不是電腦上最令人驚歎的,請請記住這一點。

感謝

回答

1

1062重複項「3262-1」關鍵「UNQ_CATALOGINVENTORY_STOCK_ITEM_PRODUCT_ID_STOCK_ID」#

從該公司明確表示,有一些獨特的約束和3262值已經存在於數據庫中。

我建議你運行reindexing然後檢查。

基本上一些條目3262沒有從您的股票表中刪除,所以一個新的條目拋出錯誤。

3

我花了時間在谷歌試圖找到正確的信息,這是很容易跟着像我這樣的一個電樞。最終使用不同的來源,我想出了我需要刪除的內容以及我需要刪除的地方。下面的工作對我來說,希望它適合你。

  1. 轉到您的數據庫
  2. 找到名爲「cateloginventory_stock_item
  3. 表中刪除列表中的最後幾個記錄(在表格底部)

瞧!你現在應該能夠輸入新產品

1

我正面臨類似的問題,並修復了我已經申請的如下:

錯誤:SQLSTATE [23000]:完整性約束違規:1062重複項 '59457-1' 關鍵 'UNQ_CATALOGINVENTORY_STOCK_ITEM_PRODUCT_ID_STOCK_ID'

解決方案:有一個叫eav_entity_store表,你將不得不修改記錄提及SKU /產品ID,將增量ID增加到+ 1 並更新數據庫中的記錄。一旦你更新了遞增ID,你就可以添加股票。

例如:如果「eav_entity_store」表有最後increment_last_id爲= 730354,然後 我將不得不該記錄更新爲730355,我的問題將得到解決:)

SQL查詢:更新eav_entity_store set increment_last_id ='730355'其中eav_entity_storeentity_store_id = $ YourStoreID;

8

更改

$product->save(); 

$product->getResource()->save($product); 

解決了這個問題對我來說

+0

感謝durron :) –

+0

這解決了我的問題。因爲自定義模塊正在使用產品 - >保存而不是產品 - > getResource->保存。感謝你! :) – jehzlau

3

我也面臨着同樣的問題,並且由於2天調試它。最後我得到了解決方案並解決了問題。 這是由於數據庫表的不一致造成的。

cataloginventory_stock_item 
catalog_product_entity 

我已刪除使用下面的查詢中的所有矛盾數據:

DELETE FROM cataloginventory_stock_item where product_id NOT IN (select entity_id from catalog_product_entity) 

您可以檢查多少記錄之前如何執行刪除。

select count(*) from cataloginventory_stock_item where product_id NOT IN (select entity_id from catalog_product_entity) 

可能是這可以幫助別人!

0

如果顯示了具有「UNQ_CATALOGINVENTORY_STOCK_ITEM_PRODUCT_ID_STOCK_ID」索引的表「cataloginventory_stock_item」的錯誤,

那麼請確保您從您的腳本每個time.because通過不同的產品SKU,如果你傳遞相同的SKU,然後它會根據該SKU獲取產品的ID並獲取該特定產品ID的重複條目。 也從不使用 $ product-> save(); 至

$ product-> getResource() - > save($ product); ,因爲它不會完全更新您的產品詳情。

相關問題