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是主键,唯一(ID_Category,Keyword))。 你可以帮我吗?...
答案 0 :(得分:4)
您的数据库中已有一行值为“18”和“免费邮件”。由于唯一约束,您不能有两个这样的行。你有一些选择:
DELETE FROM yourtable WHERE ID_Category = '18' AND Keyword = 'free mail'
。INSERT IGNORE
忽略错误。REPLACE
代替INSERT
将旧行替换为新行。INSERT
知道客户端将收到错误警报。答案 1 :(得分:2)
嗯,这意味着您插入的数据会破坏唯一约束。从错误信息中我会说一些数据已经存在(18,'免费邮件') - 你说它被限制为唯一。
行号不是指示,因为它与密钥不对应。
答案 2 :(得分:1)
这是MySQL错误号1062,而不是行号。错误意味着重复输入。您分别在ID和ID_Category中插入NULL和'18'两次,因此第二次执行时会抛出此错误。 ID_Category
很可能是您的索引的名称。你可以做一个
show index from website_categorization.category_keyword
查看索引名称。
答案 3 :(得分:1)
您的ID_category键被声明为唯一,因此您不能拥有两个具有相同值的条目。
答案 4 :(得分:1)
如果您的ID
字段确实是主键,则很可能(或应该)自动递增。因此,请将该字段保留在INSERT查询之外。