我有上述错误。
首先,我试图完全理解它的含义。
其次我尝试在我的数据库中调查我的表,以下查询返回零结果,因为我理解错误是主键相关的问题。
SELECT DISTINCT TABLE_NAME ,column_name
FROM INFORMATION_SCHEMA.key_column_usage
WHERE TABLE_SCHEMA IN ('dosiv_querta');
这是抛出错误的语句。
INSERT INTO `ps_product_shop` (`id_product`, `id_category_default`, `id_tax_rules_group`, `on_sale`, `online_only`, `ecotax`, `minimal_quantity`, `price`, `wholesale_price`, `unity`, `unit_price_ratio`, `additional_shipping_cost`, `customizable`, `text_fields`, `uploadable_files`, `active`, `redirect_type`, `id_product_redirected`, `available_for_order`, `available_date`, `condition`, `show_price`, `indexed`, `visibility`, `cache_default_attribute`, `advanced_stock_management`, `date_add`, `date_upd`, `pack_stock_type`, `id_shop`) VALUES ('1', '32', '1', '0', '0', '0', '1', '38.99', '0', '', '0', '0', '0', '0', '0', '1', '', '0', '1', '0000-00-00', 'new', '1', '0', 'both', '0', '0', '2015-08-21 00:31:40', '0000-00-00', '3', '1')
答案 0 :(得分:0)
听起来您正试图在主键列中插入值为1的新记录。由于主键必须是唯一的,因此不允许您插入记录。这是一个重现问题的简单示例:
mysql> CREATE TABLE TestPrimary (
ColOne INT NOT NULL,
ColTwo VARCHAR(255) NULL,
PRIMARY KEY(ColOne)
) ENGINE=InnoDB;
Query OK, 0 rows affected (0.02 sec)
mysql>
mysql> INSERT INTO TestPrimary (ColOne,ColTwo) VALUES (1,"blah");
Query OK, 1 row affected (0.01 sec)
mysql>
mysql> INSERT INTO TestPrimary (ColOne,ColTwo) VALUES (1,"boo");
ERROR 1062 (23000): Duplicate entry '1' for key 'PRIMARY'