Mysql 插入新寄存器时自动递增错误

Mysql autoincrement error when insert a new register

我有这个table

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

但首先我的 table 中没有这个专栏,如果我把它创建。

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

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

问题出在 idChallenge,如果我将其更改为 idchallenge 就可以了。