Mysql
 sql >> Database >  >> RDS >> Mysql

#1062 - Voce duplicata 0' per la chiave 'PRIMARIA'

Se hai una colonna di incremento automatico non hai bisogno del valore per la chiave primaria .. supponendo che la tua chiave primaria sia customerid dovresti usare:

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

Evita semplicemente il nome e il valore della colonna nella parte corrispondente dell'insert .

Oppure puoi usarlo nell'elenco dei nomi delle colonne ma con null valore:

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

E, se non hai l'incremento automatico, aggiungilo:

 ALTER TABLE crm_customer MODIFY COLUMN customerid INT auto_increment