一尘不染

mysql插入错误1062

mysql

SQL查询:

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

MySQL说:

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

即使在行1062处没有条目,它也会显示此重复的条目错误。(ID是主键,并且是unique(ID_Category,Keyword))。你能帮我吗?…


阅读 217

收藏
2020-05-17

共1个答案

一尘不染

您的数据库中已经有一行带有值“ 18”和“免费邮件”的行。由于存在唯一性约束,因此不能有两个这样的行。您有一些选择:

  • 删除原始行,然后再次尝试插入:DELETE FROM yourtable WHERE ID_Category = '18' AND Keyword = 'free mail'
  • 删除唯一性约束以允许两行同时存在。
  • 使用INSERT IGNORE忽略错误。
  • 使用REPLACE而不是INSERT用新行替换旧行。
  • 尝试INSERT知道客户端将收到有关该错误的警报。
2020-05-17