2015-06-18 122 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

谢谢。我不明白他为什么不在续集中注册。我会尽力删除,看看他是否接受。我意识到它被截断了。问题是我有这个产品链接到销售,这会产生问题。我会尝试并返回。 –