gks gks - 2 months ago 16
MySQL Question

mysql insert error 1062

SQL query:

INSERT INTO `website_categorization`.`category_keyword` (
`ID` ,
`ID_Category` ,
`Keyword` ,
`Score`)
VALUES (
NULL , '18', 'free mail', ''
), (
NULL , '18', 'web email free', ''
)


MySQL said:

#1062 - Duplicate entry '18-free mail' for key 'ID_Category'


It shows this duplicate entry error even though there is no entry at row no 1062. ( ID is primary key, and unique(ID_Category,Keyword) ).
Can u help me in this?...

Answer

You already have a row in your database with the values '18' and 'free mail'. You can't have two such rows because of the unique constraint. You have some choices:

  • Remove the original row and try your insert again: DELETE FROM yourtable WHERE ID_Category = '18' AND Keyword = 'free mail'.
  • Remove the unique constraint to allow both rows to exist.
  • Use INSERT IGNORE to ignore the error.
  • Use REPLACE instead of INSERT to replace the old row with the new row.
Comments