2015-08-21 181 views
0

我有上面的错误。MySQL的重复条目“1”关键“PRIMARY”

首先我想完全明白它的意思的。

其次我试着调查我的表在我的数据库,并按照我的理解错误是主键相关的问题下面的查询返回结果为零。

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

你做你插错了,还是忘了把'auto_increment'你的id字段。 –

+0

可能的重复http://stackoverflow.com/questions/14628269/error-code-1062-duplicate-entry-1-for-key-primary – mituw16

+0

你的PK没什么问题。相反,你的PK坚如磐石的事实是阻止你插入重复数据。 –

回答

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' 
+0

如何找到主键来确定它是否设置为自动增量? –

+0

'SHOW CREATE TABLE TestPrimary;' – TeasingDart

相关问题