2015-06-18 148 views
0

我安裝了magento 1.9.1並從magento 1.5數據庫中取得表格。
我做了所有必要的修改,我正常提出要求,正常註冊客戶,正常更換產品。
然而,嘗試添加一個新產品的時候,我得到的錯誤:Magento產品插入錯誤

SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '25811-1' for key 'IDX_STOCK_PRODUCT' 

的查詢是:

INSERT INTO `cataloginventory_stock_item` (`product_id`, `stock_id`, `qty`, `use_config_min_qty`, `is_qty_decimal`, `backorders`, `use_config_backorders`, `use_config_min_sale_qty`, `use_config_max_sale_qty`, `is_in_stock`, `low_stock_date`, `use_config_notify_stock_qty`, `use_config_manage_stock`, `stock_status_changed_automatically`, `use_config_qty_increments`, `use_config_enable_qty_increments`) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) 

獨特的變化我在產品表中看到的是列stock_status_changed_automaticall在Magento 1.5叫做stock_status_changed_auto所以我在新店裏改了它。
即使發生此更改,錯誤仍然存​​在。

回答

0

這是一個mysql錯誤,不是一個magento錯誤。

一個唯一索引已經有一個值,這意味着表中已經存在一行,唯一標識爲「25811-1」。您可以刪除該行,或爲要添加到表中的任何新行分配新的ID。換句話說,你不能重新添加ID「25811-1」,你需要在「25811-2」處插入或者其他未被採用的ID。

最有可能發生的事情是爲表格添加了一個新約束,以便更好地建立索引。在不修改數據的情況下解決這個問題的唯一方法是將mysql的起始索引ID設置爲表中最後一條記錄之後的內容。不要使用這個,因爲我不知道你的索引是如何構建的,但是沿着這條線:

ALTER TABLE something AUTO_INCREMENT=123456; //You might need to build this via your composite indexes 
+0

謝謝。我不明白他爲什麼不在續集中註冊。我會盡力刪除,看看他是否接受。我意識到它被截斷了。問題是我有這個產品鏈接到銷售,這會產生問題。我會嘗試並返回。 –