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

时间:2017-06-22 11:49:24

标签: mysql sql mysql-error-1064

我在尝试在数据库中插入值时遇到mysql表的问题。

我遵循了本教程

http://sqllessons.com/categories.html

并创建表格,如教程

中的表格

表格代码

create table categories
( id       integer     not null  primary key 
, name     varchar(37) not null
, parentid integer     null
, foreign key parentid_fk (parentid) 
      references categories (id)
);

错误     SQL查询:编辑编辑

INSERT INTO `mydb`.`categories` (
`id` ,
`name` ,
`parentid`
)
VALUES (
'', 'groceries', NULL
), (
'', 'snacks', NULL
)

MySQL said: Documentation
#1062 - Duplicate entry '0' for key 'PRIMARY'

帮我解决这个问题。

4 个答案:

答案 0 :(得分:6)

声明值为自动递增,不要插入。所以:

bool allExist = !new[] { 1, 2, 3 }.Except(OfferPrioritie.Select(x => x.TypeId)).Any();

然后:

create table categories (
    id       integer     not null  auto_increment primary key,
    name     varchar(37) not null,
    parentid integer     null,
    foreign key parentid_fk (parentid) references categories (id)
);

答案 1 :(得分:0)

你想要两次向字段插入一个空值(0),你说是PRIMARY KEY。定义中的主键没有重复。

答案 2 :(得分:0)

您需要将主键指定为 AUTO_INCREMENT ,而无需在查询中插入“id”值

答案 3 :(得分:0)

每个主键都必须是唯一的。 您插入了2行,主键为“0”。 而不是''你应该插入一个ID。

编辑:我不好,ID不是索引。