我安装了magento 1.9.1并从magento 1.5数据库中获取了表格 我做了所有必要的修改,我正常提出要求,正常注册客户,正常更换产品 但是,在尝试添加新产品时,我收到错误:
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 (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
我在产品表中看到的唯一更改是magento 1.5中的stock_status_changed_automaticall
列名为stock_status_changed_auto
,因此我在新商店中对其进行了更改。
即使有这种改变,错误仍然存在。
答案 0 :(得分:0)
这是一个mysql错误而不是magento错误。
唯一索引已经有一个值,这意味着表中已经存在一行,其唯一ID为" 25811-1"。您可以删除该行,也可以为要添加到表中的任何新行指定新ID。换句话说,您无法重新添加ID" 25811-1"你需要插入" 25811-2"或者任何尚未采取的东西。
最有可能发生的事情是在表中添加了一个新约束,以便更好地建立索引。在不修改数据的情况下修复此问题的唯一方法是将mysql起始索引ID设置为表中最后一条记录之后的内容。不要使用它,因为我不知道你的索引是如何构建的,但有些东西:
ALTER TABLE something AUTO_INCREMENT=123456; //You might need to build this via your composite indexes