插入新寄存器时mysql自动增量错误

时间:2017-03-20 17:06:31

标签: mysql auto-increment

我有这张桌子

CREATE TABLE IF NOT EXISTS `test`.`Challenge` (
  `idChallenge` INT NOT NULL AUTO_INCREMENT,
  `name` VARCHAR(45) NOT NULL,
  `description` VARCHAR(45) NULL DEFAULT NULL,
  `start` DATETIME NOT NULL,
  `ending` DATETIME NULL DEFAULT NULL,
  PRIMARY KEY (`idChallenge`),
  UNIQUE INDEX `name_UNIQUE` (`name` ASC))
ENGINE = InnoDB;

当我尝试插入新的寄存器时:

insert into challenge (name, start) values ("test", now());

给我这个错误:

Error Code: 1364. Field 'id_challenge' doesn't have a default value

但首先我在表格中没有这个栏目,如果我说它是创建。

2 个答案:

答案 0 :(得分:1)

对于保留字,我们必须使用反引号。

insert into Challenge (`name`, `start`) values ("test", now());

答案 1 :(得分:0)

问题在于 idChallenge ,如果我将其更改为 idchallenge 有效。