#1062 - 重复输入0'关键' PRIMARY'

时间:2017-03-16 12:20:05

标签: mysql mysql-error-1062

INSERT INTO `crm_customer` (`customerid`, `firstname`, `lastname`, `address`, 
  `telephoneno`, `companyname`, `fax`, `comments`, `countryid`, `statename`, 
  `cityname`, `emailaddress`, `zipcode`, `dateofbirth`, `unsubscribe`) 
VALUES ('0', 'jhghjgfk', 'kghjkj', 'hjkghjgh', '8776785', 'hjghjkgyjk', 
     '457665', 'jghjgfhj', '0', 'ghjgfjgf', 'gjgfhj', 'ghjgfhjgfj', 
     '764574576', '2017-03-13', '')

我收到的错误为“#1062 - 重复输入0'关键' PRIMARY'

Schematics of table

3 个答案:

答案 0 :(得分:2)

如果您有自动增量列,则不需要键主键的值。假设您的主键是customerid,您应该使用:

    INSERT INTO `crm_customer` ( `firstname`, `lastname`, `address`, 
  `telephoneno`, `companyname`, `fax`, `comments`, `countryid`, `statename`, 
  `cityname`, `emailaddress`, `zipcode`, `dateofbirth`, `unsubscribe`) 
VALUES ( 'jhghjgfk', 'kghjkj', 'hjkghjgh', '8776785', 'hjghjkgyjk', 
     '457665', 'jghjgfhj', '0', 'ghjgfjgf', 'gjgfhj', 'ghjgfhjgfj', 
     '764574576', '2017-03-13', '')

只需避免insert的相应部分中的列名和值。

或者,您可以在列名列表中使用它,但使用null值:

    INSERT INTO `crm_customer` (`customerid`,  `firstname`, `lastname`, `address`, 
  `telephoneno`, `companyname`, `fax`, `comments`, `countryid`, `statename`, 
  `cityname`, `emailaddress`, `zipcode`, `dateofbirth`, `unsubscribe`) 
VALUES ( null, 'jhghjgfk', 'kghjkj', 'hjkghjgh', '8776785', 'hjghjkgyjk', 
     '457665', 'jghjgfhj', '0', 'ghjgfjgf', 'gjgfhj', 'ghjgfhjgfj', 
     '764574576', '2017-03-13', '')

并且,如果您没有自动增量,请添加它:

 ALTER TABLE crm_customer MODIFY COLUMN customerid INT auto_increment

答案 1 :(得分:0)

我认为customerid是您的主键,并且您正在尝试为同一个customerid重复输入。

试试这个

INSERT INTO `crm_customer` ( `firstname`, `lastname`, `address`, 
  `telephoneno`, `companyname`, `fax`, `comments`, `countryid`, `statename`, 
  `cityname`, `emailaddress`, `zipcode`, `dateofbirth`, `unsubscribe`) 
VALUES ('jhghjgfk', 'kghjkj', 'hjkghjgh', '8776785', 'hjghjkgyjk', 
     '457665', 'jghjgfhj', '0', 'ghjgfjgf', 'gjgfhj', 'ghjgfhjgfj', 
     '764574576', '2017-03-13', '');

如果customerid不是自动增量设置,则按

设置
ALTER TABLE crm_customer AUTO_INCREMENT = 1

当且仅当您的表中已有主键时,此功能才有效。

答案 2 :(得分:0)

您必须自动增加主键,然后错误才会得到解决。 假设我们有一个人表

CREATE TABLE Persons (
    Personid int NOT NULL AUTO_INCREMENT,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Age int,
    PRIMARY KEY (Personid)
);*

emphasized text

    *