mysql为'PRIMARY'键复制条目'1'

时间:2015-08-21 16:17:46

标签: mysql mysql-error-1064

我有上述错误。

首先,我试图完全理解它的含义。

其次我尝试在我的数据库中调查我的表,以下查询返回零结果,因为我理解错误是主键相关的问题。

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')

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'
相关问题