小编典典

#1062-键“ PRIMARY”的条目“ 0”重复

sql

尝试在数据库中插入值时,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'

帮我解决这个问题。


阅读 184

收藏
2021-04-28

共1个答案

小编典典

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

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)
);

接着:

INSERT INTO `mydb`.`categories` (`name`, `parentid`)
    VALUES ('groceries', NULL),
           ('snacks', NULL);
2021-04-28